【发布时间】:2017-03-12 13:07:39
【问题描述】:
我的控制器中有一个方法,它在收到上传到服务器的文件名后提交数据库中的一些更改。此方法还获取fileNameOrigin 和fileNameUnique(要下载以保存在服务器文件夹中)
public JsonResult Upload()
{
var upload = Request.Files[file];
string fileNameOrigin = System.IO.Path.GetFileName(upload.FileName);
string fileNameUnique = String.Format("{0}_" + fileNameOrigin,
DateTime.Now.ToString("yyyyMMddHHmmss"));
//there is more code that isn't needed in my case
return Json(fileNameOrigin, fileNameUnique);
}
那么,问题来了——如何在客户端发送和接收这些数据?
$('#uploadFile').on('change', function (e) {
e.preventDefault();
var files = document.getElementById('uploadFile').files;
if (files.length > 0) {
if (window.FormData !== undefined) {
var data = new FormData();
for (var x = 0; x < files.length; x++) {
data.append("file" + x, files[x]);
}
$.ajax({
type: "POST",
url: '@Url.Action("Upload", "ChatRooms")',
contentType: false,
processData: false,
data: data,
success: onSuccess, //here I need to receive data and do smth with it
error: onError
});
}
}
});
【问题讨论】:
-
你的 onSuccess 函数在哪里?
-
@FilipKováč 在与上述函数相同的文件中。 onSuccess 只是提醒用户,该文件已成功上传
标签: javascript jquery json asp.net-mvc