Fineuploader dotnet 核心

Fineuploader dotnet core

我正在尝试编写控制器(在 asp.net 核心中)代码来处理我的 fineuploader 请求,但是尽管 [FromForm] / [FromBody] / [ 的任何组合,它仍然无法看到请求数据=21=]: 'application/json' 我用。这是我在视图页面中的上传器配置:

var uploader = new qq.FineUploader({
        element: document.getElementById("uploader"),
        request: {
            endpoint: '@Url.Action("AddAttachment", "Util")',
            customHeaders: {
                "RequestVerificationToken": '@GetAntiXsrfRequestToken()',
                "Content-Type": 'application/json'
            }
        },

这是我的控制器代码 - 现在不是很多,我只是想看到一些数据被发送。

public JsonResult AddAttachment([FromForm] Object o){
         //var x = HttpContext.Request;
         //return Json(x);
         if(o == null){
             return Json("no data");
         }else{
             return Json(o);
         }
    }

我看到她是通过 chrome devtools 中的网络选项卡发送到服务器的 fineuploader:

------WebKitFormBoundarySQwYoYovQOkoFU1f
Content-Disposition: form-data; name="test"

876
------WebKitFormBoundarySQwYoYovQOkoFU1f
Content-Disposition: form-data; name="qquuid"

9ba04b80-b3d8-4e2d-8068-792dd77253bd
------WebKitFormBoundarySQwYoYovQOkoFU1f
Content-Disposition: form-data; name="qqfilename"

dohPlayDat.PNG
------WebKitFormBoundarySQwYoYovQOkoFU1f
Content-Disposition: form-data; name="qqtotalfilesize"

3535659
------WebKitFormBoundarySQwYoYovQOkoFU1f
Content-Disposition: form-data; name="qqfile"; filename="dohPlayDat.PNG"
Content-Type: image/png


------WebKitFormBoundarySQwYoYovQOkoFU1f-

谁能看出我犯的错误?

如果一切连接正确,您应该能够通过控制器中的 Request.Form.Files 查看您的文件。

我试图通过操作的参数将其作为字节数组获取,但没有成功。试试这个。

以下代码段示例说明了如何绑定文件上传请求中的所有字段,然后使用文件流将文件写入临时文件。

public async Task<IActionResult> Post(string qquuid, string qqfilename, int qqtotalfilesize, IFormFile qqfile)
        {
            // full path to file in temp location
            var filePath = Path.GetTempFileName();

            if (qqfile.Length > 0)
            {
                using (var stream = new FileStream(filePath, FileMode.Create))
                {
                    await qqfile.CopyToAsync(stream);
                }
            }
        }

有关使用 .NET Core 上传文件的更多信息,您可以在此处查看:https://docs.microsoft.com/en-us/aspnet/core/mvc/models/file-uploads?view=aspnetcore-2.1