前端示例:
<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;
}