【发布时间】:2013-04-28 09:58:56
【问题描述】:
基本上,我正在构建一个允许用户上传文件的网站。 从前端(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”
【问题讨论】:
-
如何将数据发布到服务器?您是否在表单中指定了
enctype="multipart/form-data"? -
@Guffa 不,我很确定你的意思是什么:/
-
表单必须具有该属性,浏览器才能以服务器可以使用的格式发送上传的文件。如果没有,则该文件无法包含在表单数据中。
标签: c# post parameters upload