前端示例:
<input type="file" name="fileName" id="fileName" />
<input id="import" type="button" value="导入" onclick="uploadFile()" >
js:
function uploadFile()
{
var formData = new FormData();
formData.append("myfile", document.getElementById("fileName").files[0]);
$.ajax({
url: "ComplainStatisticsAnalyze.ashx?Method=uploadFile",
type: "POST",
data: formData,
/**
*必须false才会自动加上正确的Content-Type
*/
contentType: false,
/**
* 必须false才会避开jQuery对 formdata 的默认处理
* XMLHttpRequest会对 formdata 进行正确的处理
*/
dataType: "text",
processData: false,
success: function (data) {
alert(data);
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert("数据导入异常:" + errorThrown);
}
});
}
后台示例:
public string uploadFile(HttpContext context)
{
string result = "";
context.Response.ContentType = "text/html";
HttpPostedFile file = null;
try
{
if (context.Request.Files.Count > 0)
{
file = context.Request.Files["myfile"];
}
else
{
return "请选择要上传的文件";
}
string oldfileName = Path.GetFileName(file.FileName); //获得文件名+拓展名
string fileExt = Path.GetExtension(oldfileName); //获得拓展名
string IsXls = Path.GetExtension(file.FileName).ToString().ToLower();//System.IO.Path.GetExtension获得文件的扩展名
if (IsXls != ".xlsx" && IsXls != ".xls")
{
return "文件类型不正确";
}
else
{
string savePath = context.Server.MapPath(("UploadImportExcel\\") + oldfileName);
file.SaveAs(savePath);
}
}
catch (Exception ex)
{
throw ex;
}
return result;
}