Fineuploader dotnet核心

时间:2018-02-24 10:53:40

标签: asp.net .net-core fine-uploader

我正在尝试编写Controller(在asp.net核心中)代码来处理我的fineuploader请求但是它仍然无法看到请求数据,尽管[FromForm] / [FromBody] /“Content-Type”的任何组合:'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);
         }
    }

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

------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-

任何人都可以看到我犯的错误吗?

2 个答案:

答案 0 :(得分:1)

如果所有内容都连线正确,您应该可以通过控制器中的DataGridViewCell查看您的文件。

我试图通过动作参数将其作为字节数组,但没有运气。试试这个。

答案 1 :(得分:0)

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

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