У меня есть эта конфигурация dropzone, и я собираюсь использовать чанкинг.
До сих пор мне удалось отправить файл и записать несколько кусков в console.log. Однако по какой-то причине chunksUploaded не вызывается
Dropzone.options.dropzone = {
url:"@Url.Action("SaveC", "Document", new { area="Document"})",
autoProcessQueue: false,
addRemoveLinks: true,
uploadMultiple: false,
parallelUploads: 1,
chunking: true,
forceChunking: true,
chunkSize: 100000,
parallelChunkUploads: true,
retryChunks: true,
retryChunksLimit: 3,
params: function (files, xhr, chunk) {
if (chunk) {
return {
dzUuid: chunk.file.upload.uuid,
dzChunkIndex: chunk.index,
dzTotalFileSize: chunk.file.size,
dzCurrentChunkSize: chunk.dataBlock.data.size,
dzTotalChunkCount: chunk.file.upload.totalChunkCount,
dzChunkByteOffset: chunk.index * this.options.chunkSize,
dzChunkSize: this.options.chunkSize,
dzFilename: chunk.file.name,
};
}
},
init: function () {
var submitButton = document.querySelector("#submit");
var resetButton = document.querySelector("#reset");
var token = $('input[name="__RequestVerificationToken"]').val();
var wrapperThis = this;
submitButton.addEventListener("click", function (e) {
wrapperThis.processQueue();
e.preventDefault();
e.stopPropagation();
e.stopImmediatePropagation();
return false;
});
this.on('sending', function (data, xhr, formData) {
formData.append("__RequestVerificationToken",token);
formData.append("@Html.IdFor(x => x.CategoryId)", $("#@Html.IdFor(x => x.CategoryId)").val());
formData.append("@Html.IdFor(x => x.RepositoryId)", $("#@Html.IdFor(x => x.RepositoryId)").val());
formData.append("@Html.IdFor(x => x.BatchId)", $("#@Html.IdFor(x => x.BatchId)").val());
formData.append("@Html.IdFor(x => x.BatchName)", $("#@Html.IdFor(x => x.BatchName)").val());
});;
this.on('error', function (file, message) {
//toastr.error(message);
$("#UploadActivity").val($("#UploadActivity").val() + message + "\r\n");
wrapperThis.disable();
});
this.on("chunksUploaded", function (file, done) {
//merge uploaded chunks
console.log("AAAAAA");
console.log(file.upload.uuid);
this.options.autoProcessQueue = true;
done();
});
this.on("queuecomplete", function () {
this.options.autoProcessQueue = false;
})
}
};
Должен ли я что-то возвращать из моего сохранения C ajax? В настоящее время просто возвращается HTTPResponseMessage