Я пытаюсь загрузить файл из javascript, отправив форму с помощью jQuery в метод действия моего контроллера.Я не хочу ждать результата и хотел бы немедленно вернуться.Вот почему я звоню Task.Factory.StartNew
и возвращаюсь.Но я получаю сообщение об ошибке «Не удается получить доступ к закрытому файлу в теле задачи!».Пожалуйста, сообщите.
[HttpPost]
public bool UploadAll(HttpPostedFileBase fileSelect)
{
Task.Factory.StartNew<string>((st) =>
{
var file = st as HttpPostedFileBase;
if (file != null)
{
// Here is where I get the error "cannot access the closed file!"
file.SaveAs("E:\\" + file.FileName);
return file.FileName;
}
return string.Empty;
}, fileSelect).ContinueWith((tsk) =>
{
Debug.WriteLine(tsk.Result);
});
return true;
}
Клиентская сторона
$(function () {
//getAllVideos();
$('#upload').submit(function (e) {
e.preventDefault();
var files = $("#fileSelect")[0].files;
if (files.length > 0) {
if (window.FormData !== undefined) {
var formData = new FormData($(this)[0]);
$.ajax({
url: uploadUrl,
method: "post",
cache: false,
contentType: false,
processData: false,
data: formData
}).done(function (result) {
alert(result);
}).fail(function () {
});
});
});
}());