前端:
<%-- 导入弹窗--%>
<div class="modal fade" id="importModal" tabindex="-1" role="alertdialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal"><span>×</span></button>
<h4 class="modal-title"><strong>减速顶设备导入</strong></h4>
</div>
<div class="modal-body">
<form id="importFile" name="importFile" class="form-horizontal" method="post" enctype="multipart/form-data">
<div id="div_insect_file" class="box-body">
<input id="insect_file" type="file" class="file" />
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
</div>
</div>
</div>
</div>
js:
function openImportModal() {
$("#div_insect_file").empty();
var element = '<input id="insect_file" name="insect_file" type="file" multiple class="file insect" data-show-upload="false" data-show-caption="true">';
$("#div_insect_file").append(element);
initUpload("insect_file", "./DeviceHandler_jsd.ashx?Oper=importFile");
$("#importModal").modal('show');
}
function initUpload(ctrlName, uploadUrl) {
var control = $('#' + ctrlName);
control.fileinput({
language: 'zh', //设置语言
uploadUrl: uploadUrl, //上传至服务器的地址
uploadExtraData: { "savepath": "/tempFile" },//保存到本地的路径,自定义
uploadAsync: true, //默认异步上传
showCaption: true,//是否显示标题
showUpload: true, //是否显示上传按钮
browseClass: "btn btn-primary", //按钮样式
allowedFileExtensions: ["xls", "xlsx"], //接收的文件后缀
maxFileCount: 1,//最大上传文件数限制
previewFileIcon: '<i class="glyphicon glyphicon-file"></i>',
showPreview: true, //是否显示预览
previewFileIconSettings: {
'docx': '<i ass="fa fa-file-word-o text-primary"></i>',
'xlsx': '<i class="fa fa-file-excel-o text-success"></i>',
'xls': '<i class="fa fa-file-excel-o text-success"></i>',
'pptx': '<i class="fa fa-file-powerpoint-o text-danger"></i>',
'jpg': '<i class="fa fa-file-photo-o text-warning"></i>',
'pdf': '<i class="fa fa-file-archive-o text-muted"></i>',
'zip': '<i class="fa fa-file-archive-o text-muted"></i>',
}
});
control.on("fileuploaded", function (event, data, previewId, index) {
if (data.response) {
alert('文件上传成功!' + msg);
//closeModal('fishAddDetail') 关闭模态框。
//$("#bootstraptable_fishcontent").bootstrapTable("refresh");
}
});
control.on('fileerror', function (event, data, msg) { //一个文件上传失败
alert('文件上传失败!' + msg);
console.info('文件上传失败!'+msg);
});
}
C#
public void ProcessRequest (HttpContext context) {
string oper = context.Request.Params["Oper"];
switch (oper)
{
case "importFile":
importFile(context);
break;
default:
break;
}
}
public void importFile(HttpContext context)
{
System.Diagnostics.Debug.WriteLine("importFile");
string json = "{\"msg\":\"上传成功!\"}";
try
{
context.Response.ContentType = "text/plain";
HttpFileCollection fileList = HttpContext.Current.Request.Files;
if(fileList.Count<=0)
{
json = "{\"error\":\"上传失败!\"}";
context.Response.Write(json);
return;
}
HttpPostedFile file = context.Request.Files[0];
string fileName = file.FileName;
string IsXls = System.IO.Path.GetExtension(fileName).ToString().ToLower();//System.IO.Path.GetExtension获得文件的扩展名
if (IsXls != ".xls" && IsXls != ".xlsx")
{
json = "{\"error\":\"上传失败,文件格式错误!\"}";
context.Response.Write(json);
return;//当选择的不是Excel文件时,返回
}
string savepath = context.Request["savepath"];//获取文件保存的路径
savepath = context.Server.MapPath(savepath) + "\\" + fileName;
file.SaveAs(savepath);//至此保存文件到本地已完结
}