html 前台
<input type="file" id="file" multiple="multiple" οnchange="handleFile()">
js:
function handleFile() {
let $icon = $(".upload-icon");
let formData = new FormData(),
fs = $("#file")[0].files;
for (let i = 0; i < fs.length; i++) {
let d = fs[0]
formData.append("files", fs[i]); //文件上传处理
}
$.ajax({
url: "UploadFile",
type: "POST",
data: formData,
contentType: false,//必须false才会自动加上正确的Content-Type
processData: false,//必须false才会避开jQuery对 formdata 的默认处理,XMLHttpRequest会对 formdata 进行正确的处理
success: function (data) {
alert(data);
},
error: function (data) {
alert("上传失败!");
}
});
}
后台:
[HttpPost]
public ActionResult UploadFile()
{
string result = string.Empty;
try
{
string uploadPath = "C:/迅雷下载/Test/文件/";
HttpRequest request = System.Web.HttpContext.Current.Request;
HttpFileCollection fileCollection = request.Files;
// 判断是否有文件
if (fileCollection.Count > 0)
{
// 如果目录不存在则要先创建
if (!Directory.Exists(uploadPath))
{
Directory.CreateDirectory(uploadPath);
}
for (int i=0;i< fileCollection.Count;i++)
{
// 获取文件
HttpPostedFile httpPostedFile = fileCollection[i];
string fileExtension = Path.GetExtension(httpPostedFile.FileName);// 文件扩展名
string fileName = Guid.NewGuid().ToString() + fileExtension;// 名称
string filePath = uploadPath + httpPostedFile.FileName;// 上传路径
httpPostedFile.SaveAs(filePath);
}
result = "上传成功";
}
}
catch (Exception ex)
{
result = ex.ToString();
}
return Json(result);
}
参考链接: