Microsoft WebHelpers с NETCore.App (2.1) - PullRequest
       6

Microsoft WebHelpers с NETCore.App (2.1)

0 голосов
/ 14 ноября 2018

Я пытаюсь заставить работать приведенный ниже код, но у меня продолжают возникать проблемы с совместимостью с Microsoft.Web.Helpers v 3.2.6 и моим текущим SDK-пакетом NETCore 2.1.Кроме того, на всю жизнь я не могу получить простейшие вызовы IsPost и Request для распознавания.Я уверен, что это очевидное решение, но я не могу его найти!

Заранее спасибо за любое направление ...

@using Microsoft.Web.Helpers;
@{
    var fileName = "";
    if (IsPost) {
        var fileSavePath = "";
        var uploadedFile = Request.Files[0];
        fileName = Path.GetFileName(uploadedFile.FileName);
        fileSavePath = Server.MapPath("~/App_Data/UploadedFiles/" +
          fileName);
        uploadedFile.SaveAs(fileSavePath);
    }
}
<!DOCTYPE html>
<html>
    <head>
    <title>FileUpload - Single-File Example</title>
    </head>
    <body>
    <h1>FileUpload - Single-File Example</h1>
    @FileUpload.GetHtml(
        initialNumberOfFiles:1,
        allowMoreFilesToBeAdded:false,
        includeFormTag:true,
        uploadText:"Upload")
    @if (IsPost) {
        <span>File uploaded!</span><br/>
    }
    </body>
</html>

1 Ответ

0 голосов
/ 15 ноября 2018

Библиотека WebHelpers несовместима с ASP.NET Core. Он опирается на System.Web, от которого разработано .NET Core.

Блок IsPost заменен на метод обработки . По соглашению, метод-обработчик с именем OnPost будет выполняться, если для запроса страницы используется метод POST (именно это свойство IsPost используется для проверки).

Лично я никогда не понимал смысла помощника FileUpload, если вы не хотели позволить пользователю добавлять дополнительные загрузки файлов на страницу (чего вы явно не делаете в этом случае). input type="file" легче добавить на страницу.

Загрузка файлов в ASP.NET Core полностью отличается от веб-страниц. Вот некоторые рекомендации по этому вопросу: https://www.learnrazorpages.com/razor-pages/forms/file-upload

...