MVCとWeb APIを使用したファイルアップロードのためにjQueryファイルアップロードを使用しています。デフォルト動作の使用singleFileUploads = true(デフォルトでは、選択の各ファイルは個別の /XHRタイプのアップロードの要求を使用してアップロードされます)。Jqueryファイルアップロード:画像アップロードが成功した後のデータベース呼び出し
サーバーにアップロードされたすべてのイメージが完成したら、最終的なデータベース挿入コールで画像の総数とその他のデータを保存しようとしています。 もう1つの問題は、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" });
}
でそれらをマージしてみてくださいので、内部 'アップロード( ) '関数を呼び出して、save save()を呼び出すと' SaveDataDB() 'が呼び出されます。 – Munzer
成功関数は、完了したのと同じファイルアップロード要求ごとに複数回呼び出されます。 – Sidh
各フォーム提出は、1つのファイルアップロードのみを引き起こします。 –