Попробуйте загрузить файлы на сервер - PullRequest
0 голосов
/ 02 ноября 2019

Я пытаюсь загрузить какой-либо файл на сервер, используя ASP.NET MVC.

Код JS, который я записываю в своем индексе в следующем виде:

@section Scripts{
<script src="~/Scripts/jquery.filedrop.js"></script>
<script type="text/javascript">
    $(function () {
        $('#dropArea').filedrop({
            url: '@Url.Action("UploadFiles")',
            allowedfiletypes: ['image/jpeg', 'image/png', 'image/gif'],
            allowedfileextensions: ['.jpg', '.jpeg', '.png', '.gif'],
            paramname: 'files',
            maxfiles: 5,
            maxfilesize: 5, 
            dragOver: function () {
                $('#dropArea').addClass('active-drop');
            },
            dragLeave: function () {
                $('#dropArea').removeClass('active-drop');
            },
            drop: function () {
                $('#dropArea').removeClass('active-drop');
            },
            afterAll: function (e) {
                $('#dropArea').html('file(s) uploaded successfully');
            },
            uploadFinished: function (i, file, response, time) {
                $('#uploadList').append('<li class="list-group-item">' + file.name + '</li>');
            }
        })
    })
</script>
}

Метод из моего контроллераэто:

[HttpPost]
public ActionResult UploadFiles(IEnumerable<HttpPostedFileBase> files)
{
        foreach (var file in files)
        {
            string filePath = Guid.NewGuid() + Path.GetExtension(file.FileName);
            file.SaveAs(Path.Combine(Server.MapPath("~/UploadedFiles"), filePath));               
        }

        return Json("file uploaded successfully");
}

Когда я пытаюсь загрузить какой-либо файл, я получаю эту ошибку:

enter image description here

Скажите, пожалуйста, чтоЯ добавляю к этому коду свой код для работы.

1 Ответ

0 голосов
/ 02 ноября 2019

используйте HttpPostedFileBase[] вместо IEnumerable<HttpPostedFileBase>.

[HttpPost]
public ActionResult UploadFiles(HttpPostedFileBase[] files)
{
    foreach (var file in files)
    {
        string filePath = Guid.NewGuid() + Path.GetExtension(file.FileName);
        file.SaveAs(Path.Combine(Server.MapPath("~/UploadedFiles"), filePath));
    }

    return Json("file uploaded successfully");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...