【发布时间】:2017-08-17 03:41:55
【问题描述】:
我正在使用 jQuery 文件上传来通过 MVC 和 Web API 上传文件。使用默认行为 singleFileUploads = true (默认情况下,选择的每个文件都使用单独的 /请求 XHR 类型上传)。
一旦上传到服务器的所有图像完成,我正在尝试在最终数据库插入调用中保存图像总数和一些其他数据。 另一个问题是Web服务器无法访问文件服务器,只有应用服务器可以从文件服务器保存和读取图像。
我已经知道类似的问题,但两者都有不同的环境和问题。 running SQL after successful upload with jQuery-File-Upload
这里是代码:我尝试使用完成、完成和完成的所有回调函数 完成,但每个函数在每次文件上传后都会被调用。当所有文件上传完成后,我只尝试调用 SaveDataDB() 一次。
$(function () {
$form = $('#fileupload').fileupload({
dataType: 'json',
singleFileUploads: true,
sequentialUploads:false,
url: "/FileUpload/Upload",
add: function (e, data) {
$("#btnStart").on("click", function () {
data.submit();
})
},
completed: function (e, data) {
$.ajax({
url: "/FileUpload/SaveDataDB",
type: "POST",
dataType: "json"
});
},
}).bind('fileuploadcompleted', function (e, data) { alert("Message", "Title"); })
.bind('fileuploadfinished', function (e, data) { alert("fileuploadfinished", "Title") })
**.bind('fileuploadstop', function (e, data) {
$.ajax({
url: "/FileUpload/SaveDataDB",
type: "POST",
dataType: "json",
data: TotalFiles,
success: function (data) {
};**
});
MVC 控制器
[HttpPost]
public JsonResult Upload()
{
var resultList = new List<ViewDataUploadFilesResult>();
var CurrentContext = HttpContext;
filesHelper.UploadAndShowResults(CurrentContext, resultList);
JsonFiles files = new JsonFiles(resultList);
bool isEmpty = !resultList.Any();
if (isEmpty)
{
return Json("Error ");
}
else
{
return Json(files);
}
}
[HttpPost]
public JsonResult SaveDataDB()
{
return Json(new { status = "Success", message = "Success" });
}
【问题讨论】:
-
为什么不上传成功时调用它,所以在你的mvc中的
Upload()函数中,在成功保存时调用SaveDataDB()。 -
每个文件上传请求都会多次调用成功函数。
-
每次提交表单只会上传一个文件,对吗?
-
不可以上传多张图片,但每个文件使用单个请求上传
标签: jquery asp.net-mvc jquery-file-upload blueimp