gpt4 book ai didi

c# - 上传文件 ASP.NET 5

转载 作者:太空狗 更新时间:2023-10-29 21:22:09 24 4
gpt4 key购买 nike

我正在尝试在 ASP.NET 5 中上传文件,但我在 Internet 上看到的两种方法都失败了。对于 XMLHttpRequest,这里是我的服务器端代码:

 public async Task<ActionResult> UploadSWF()
{
StreamReader reader = new StreamReader(Request.Body);
var text = await reader.ReadToEndAsync();
return View();
}

[编辑 1]:我的客户端:

var client = new XMLHttpRequest();
function upload()
{
var file = document.getElementById("uploadfile");
var formData = new FormData();
formData.append("upload", file.files[0]);
client.open("post", "/Home/UploadSWF", true);
//client.setRequestHeader("Content-Type", "multipart/form-data");
client.setRequestHeader("Content-Type", "application/x-shockwave-flash");
client.send(formData);
}

但我唯一能从中得到的是:

------WebKitFormBoundaryX1h5stVbtaNe6nFw Content-Disposition: form-data; name="upload"; filename="data.swf" Content-Type: application/x-shockwave-flash CWS ;"

[编辑 2]:这是我如何获得此代码的代码:

 public ActionResult UploadSWF()
{
Stream bodyStream = Context.Request.Body;
var sr = new StreamReader(bodyStream);
var test = sr.ReadToEnd();
return View();
}

所以我得到了文件名和内容类型,但没有得到它的内容。

这个答案https://stackoverflow.com/a/26445416/1203116正在将流复制到文件中,但是文件创建部分对我不起作用,我不知道发生了什么,但什么也没发生。所以我尝试对 MemoryStream 做同样的事情,但我得到了一个空字符串。

最后我尝试了另一种方法,使用 IFormFile,如下所示:https://github.com/aspnet/Mvc/blob/437eb93bdec0d9238d672711ebd7bd3097b6537d/test/WebSites/ModelBindingWebSite/Controllers/FileUploadController.cs这个接口(interface)应该在我添加到我的项目中的 Microsoft.AspNet.Http 中,但我仍然无法访问它。我在此命名空间中看不到任何 IFormFile。

[编辑 1]:我尝试过的第一种方法是使用 HttpPostedFileBase,就像我在 ASP.NET MVC 5 中使用的那样,但它在我的 vNext 项目中不起作用。我总是遇到 MissingMethodException。我在客户端的代码是:

<form action="/home/UploadSWF" method="POST" enctype="multipart/form-data">
<input type="file" name="file" accept=".swf, application/x-shockwave-flash/*">
<input type="submit" name="submit" />
</form>

在我的 Controller 中:

public ActionResult UploadSWF(HttpPostedFileBase file)
{
return View();
}

最佳答案

IFormFile 是作为 beta3 版本的一部分引入的。您可能有过时的软件包。检查您的 project.json 并确保您使用的是 beta3(或更新版本)包。

关于c# - 上传文件 ASP.NET 5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28573919/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com