Как вернуть сообщение об ошибке от обработчика asp. net generi c на AJAX - PullRequest
0 голосов
/ 26 мая 2020

Я работаю в C# WebForms. Я написал функцию загрузки файлов. После выбора файла вызов AJAX из javascript будет сделан в общий обработчик c (файл ashx). Когда файл загружается без ошибок, я получаю сообщение «Файл был успешно загружен!» сообщение, отправленное обработчиком, как ожидалось. Однако при возникновении ошибки я получаю «Внутреннюю ошибку сервера». Я хотел бы получить сообщение об ошибке c, которое я отправляю из обработчика в блоке catch.

Code in aspx page:
function uploadFile(file, i) {
        alert("Inside uploadFile");
        var formData = new FormData();
        formData.append(file.name, file);


        $.ajax({
            url: "FileUploadHandler.ashx",
            type: "POST",
            contentType: false,  
            processData: false,   
            data: formData,
            success: function (result) {
                alert(result);
            },
            error: function (err) {
                alert(err.statusText);
            }
        });

    }

   Code in ashx file:
   public class FileUploadHandler : IHttpHandler
   {

    public void ProcessRequest(HttpContext context)
    {
        if (context.Request.Files.Count > 0)
        {
            HttpFileCollection files = context.Request.Files;
            for (int i = 0; i < files.Count; i++)
            {
                HttpPostedFile file = files[i];
                try
                {
                    UploadSelectedFile(file);//a method call which uploads the file
                    context.Response.ContentType = "text/plain";
                    context.Response.Write("File was uploaded successfully!");
                }
                catch (Exception ex)
                {
                    context.Response.ContentType = "text/plain";
                    context.Response.Status = "Could not upload file. Reason: " + ex.Message;
                }
                finally
                {

                }
            }

        }
    }
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...