我正在使用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" });
}
答案 0 :(得分:0)
您可以尝试将它们合并到一个
中,而不是进行两个不同的操作[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
{
//Put the SaveToDb Code here
return Json(new{files=files,success="success",message ="success");
}
}