gpt4 book ai didi

c# - 如何从 web 的 POST 数据中读取 C# 中的文件

转载 作者:太空宇宙 更新时间:2023-11-03 11:04:38 25 4
gpt4 key购买 nike

基本上,我正在构建一个允许用户上传文件的网站。从前端(JavaScript),用户将浏览一个文件,我可以获得站点发送POST数据(参数“UploadInput”及其值,该值是文件)在后端(C#)中,我想复制文件并将其保存在特定路径中。以下是我的做法。

var files = Request.Files;

file[0].SaveAs("\temp\\" + file[0].FileName);

我遇到的问题是我收到错误消息说索引超出范围。我尝试了 Response.Write(files.Count),它给了我 0 而不是 1。我想知道我哪里做错了以及如何解决它,或者是否有更好的方法。谢谢!

编辑:

我正在使用 HttpFox 进行调试。从HttpFox中,我可以看到在POST数据下,参数是“UploadInput”,值是“test.txt”

编辑 2:所以我尝试了 Marc 提供的方式,但我遇到了不同的问题。我能够创建一个新文件,但是,内容没有被复制过来。我尝试在记事本中打开新创建的文件,它只显示“UploadInput = test.txt”

最佳答案

如果他们只是将文件作为正文内容发布,那么此处涉及的"file"将为零,因此file[0] 将失败。相反,您需要查看输入流,然后简单地从该流中读取。例如:

using(var file = File.Create(somePath)) {
Request.InputStream.CopyTo(file);
}

关于c# - 如何从 web 的 POST 数据中读取 C# 中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16368378/

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