Asp.net Core rc2 Web API文件上传

马克斯·梅尔尼科夫(Max Melnikov)

需要帮助,如何在ASP.NET Core rc2 Web API中上载文件。当我使用asp.net 4.5时,它将使用以下代码:

   @{
ViewBag.Title = "Home Page";
    }

 <div>
<input type="file" name="upload" id="uploadFile"  /><br />
<button id="submit">Загрузить</button>
</div>

 @section scripts{
<script type="text/javascript">

$('#submit').on('click', function (e) {
    e.preventDefault();
    var files = document.getElementById('uploadFile').files;
    if (files.length > 0) {
        if (window.FormData !== undefined) {
            var data = new FormData();
            for (var x = 0; x < files.length; x++) {
                data.append("file" + x, files[x]);
            }

            $.ajax({
type: "POST",
url: 'api/values/post',
contentType: false,
processData: false,
data: data,
success: function (result) {
    alert(result);
},
error: function (xhr, status, p3) {
    alert(status);
}
});
        } else {
            alert("Браузер не поддерживает загрузку файлов HTML5!");
        }
    }
});

}

public class ValuesController : ApiController
{
public async Task<IHttpActionResult> Post()  
{
    if (!Request.Content.IsMimeMultipartContent())
    {
        return BadRequest();
    }
    var provider = new MultipartMemoryStreamProvider();
    // путь к папке на сервере
    string root = System.Web.HttpContext.Current.Server.MapPath("~/Files/");
    await Request.Content.ReadAsMultipartAsync(provider);

    foreach (var file in provider.Contents)
    {
        var filename = file.Headers.ContentDisposition.FileName.Trim('\"');
        byte[] fileArray = await file.ReadAsByteArrayAsync();

        using (System.IO.FileStream fs = new System.IO.FileStream(root + filename, System.IO.FileMode.Create))
        {
            await fs.WriteAsync(fileArray, 0, fileArray.Length);
        }
    }
    return Ok("файлы загружены");
}
}

现在,在asp.net core rc2中不起作用,如果在不使用ajax的mvc中使用IFromFile可以工作,但是我们使用js + ajax + webapi

拉尔夫·伯宁

在我的asp.net核心程序中,我将控制器方法更改为

[HttpPost]
public async Task<IActionResult> Upload(ICollection<IFormFile> file)
{
     ...       
}

我已经添加了[HttpPost]注释并使用了新IFormFile界面。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Asp.net Core rc2 Web API文件上传

来自分类Dev

ASP.NET Core 1 RC2 Web应用程序入口点

来自分类Dev

无法在IISExpress中启动ASP.NET Core RC2 Web应用程序

来自分类Dev

ASP.NET Core RC2项目-什么是“服务”文件夹?

来自分类Dev

ASP.NET Core RC2项目-什么是“服务”文件夹?

来自分类Dev

ASP Net Core 1 RC2 AccountController注入

来自分类Dev

ASP.NET Core rc2中的Cookie

来自分类Dev

ASP.NET Core RC2中的网址重写

来自分类Dev

是否发布了ASP.NET Core RC2?

来自分类Dev

ASP.NET Core RC2中的网址重写

来自分类Dev

从ASP.NET Core MVC Web应用程序(RC2)引用完整框架库项目吗?

来自分类Dev

尝试从Web应用程序ASP.NET Core RC2引用.net core类库时出错

来自分类Dev

将Asp.Net Core RC1迁移到RC2后的问题

来自分类Dev

无法添加对.net core类库asp.net core rc2的引用

来自分类Dev

ASP.nET核心Web应用程序(.NET Core RC2)-为什么head标签中的项目显示在body标签中

来自分类Dev

.NET Core RC2 applicationhost.config与ASP.NET .NET 4.6不兼容?

来自分类Dev

在ASP.NET Core应用程序(RC2)中使用net451库

来自分类Dev

ASP.Net Core 1.0 RC2:web.config中提到了LAUNCHER_PATH和LAUNCHER_ARGS是什么?

来自分类Dev

上传文件 .NET Core Web API 的问题

来自分类Dev

xunit无法与ASP.NET Core RC2一起编译

来自分类Dev

迁移到ASP.NET Core RC2后,集成测试失败

来自分类Dev

ASP.NET Core RC2区域未发布

来自分类Dev

ASP.Net Core RC2迁移CSPROJ参考错误

来自分类Dev

ASP.NET Core 1.0 RC2中的“找不到类型或名称空间名称”

来自分类Dev

如何禁用ASP.NET Core rc2中的浏览器缓存?

来自分类Dev

如何启动不监听本地主机的ASP.NET Core 1.0 RC2应用

来自分类Dev

如何在ASP.NET Core 1.0 RC2中加载程序集

来自分类Dev

在ASP.NET MVC Core应用程序(RC2)中显示项目版本

来自分类Dev

ASP.NET Core RC2种子数据库

Related 相关文章

  1. 1

    Asp.net Core rc2 Web API文件上传

  2. 2

    ASP.NET Core 1 RC2 Web应用程序入口点

  3. 3

    无法在IISExpress中启动ASP.NET Core RC2 Web应用程序

  4. 4

    ASP.NET Core RC2项目-什么是“服务”文件夹?

  5. 5

    ASP.NET Core RC2项目-什么是“服务”文件夹?

  6. 6

    ASP Net Core 1 RC2 AccountController注入

  7. 7

    ASP.NET Core rc2中的Cookie

  8. 8

    ASP.NET Core RC2中的网址重写

  9. 9

    是否发布了ASP.NET Core RC2?

  10. 10

    ASP.NET Core RC2中的网址重写

  11. 11

    从ASP.NET Core MVC Web应用程序(RC2)引用完整框架库项目吗?

  12. 12

    尝试从Web应用程序ASP.NET Core RC2引用.net core类库时出错

  13. 13

    将Asp.Net Core RC1迁移到RC2后的问题

  14. 14

    无法添加对.net core类库asp.net core rc2的引用

  15. 15

    ASP.nET核心Web应用程序(.NET Core RC2)-为什么head标签中的项目显示在body标签中

  16. 16

    .NET Core RC2 applicationhost.config与ASP.NET .NET 4.6不兼容?

  17. 17

    在ASP.NET Core应用程序(RC2)中使用net451库

  18. 18

    ASP.Net Core 1.0 RC2:web.config中提到了LAUNCHER_PATH和LAUNCHER_ARGS是什么?

  19. 19

    上传文件 .NET Core Web API 的问题

  20. 20

    xunit无法与ASP.NET Core RC2一起编译

  21. 21

    迁移到ASP.NET Core RC2后,集成测试失败

  22. 22

    ASP.NET Core RC2区域未发布

  23. 23

    ASP.Net Core RC2迁移CSPROJ参考错误

  24. 24

    ASP.NET Core 1.0 RC2中的“找不到类型或名称空间名称”

  25. 25

    如何禁用ASP.NET Core rc2中的浏览器缓存?

  26. 26

    如何启动不监听本地主机的ASP.NET Core 1.0 RC2应用

  27. 27

    如何在ASP.NET Core 1.0 RC2中加载程序集

  28. 28

    在ASP.NET MVC Core应用程序(RC2)中显示项目版本

  29. 29

    ASP.NET Core RC2种子数据库

热门标签

归档