【问题标题】:Get file upload data from post data in ASP.NET从 ASP.NET 中的 post 数据中获取文件上传数据
【发布时间】:2010-12-13 17:07:31
【问题描述】:

我正在循环浏览表单上发布的值,以便对它们进行处理(因此无法访问控件本身)。这是我必须承担这个项目的过程,所以这就是我这样做的原因。

在表单上我会有一个文件上传框,但我不确定如何上传从中选择的文件,因为我不能只做Control.SaveAs()。当我使用 Request.Form.Item[i] 返回发布的值时,我得到了我选择的文件名,但不是我期望的完整路径。

有人能指点我正确的方向吗?

谢谢。

【问题讨论】:

  • 请在此处查看我的答案:stackoverflow.com/questions/1297939/…
  • @Womp - 问题是该方法似乎是使用控件直接获取数据。我正在使用Request.Form.CountRequest.Form.Item[i] 遍历发布的数据,因此无法直接访问控件。这样做是因为这是用户生成的表单,他们可以输入他们喜欢的任何表单控件。
  • 好的,我明白了。我不知道如何获取文件的完整路径。您是否要获取实际文件本身的字节?我可以发布如何做到这一点....
  • 我明白你现在的问题了。您正在循环通过 Form 发布数据,而不是 Controls 集合。您需要检查 Request.Files[] 集合中的文件内容。

标签: asp.net http-post


【解决方案1】:

如果您想直接操作上传的文件,而不是通过 FileUploader 控件,您应该使用Request.Files 集合而不是Request.Form

【讨论】:

  • 谢谢,正是我想要的。很明显,现在你提到它虽然 blush
【解决方案2】:

文件上传控件只传递文件名和内容。我不确定您为什么需要一个文件夹名称,特别是因为文件夹名称将用于客户端 - 我不能指望这对您有任何价值,因为您想将文件保存在服务器上。

由于我不确定您的目标,我建议您使用Server.MapPath("~/Folder") 找到合适的文件夹来保存您上传的文件

【讨论】:

  • 我不需要找到一个文件夹来保存文件夹,我只是不知道如何处理我从发布的值中检索到的文件名。如果要在 PHP 中执行此操作,我可以获得发布的图像值并拥有完整的客户端路径,我可以从中编写脚本来上传文件。我似乎只能通过这种方式访问​​文件名,这并没有多大帮助。
  • 您是否尝试通过非 HTTP 协议(​​例如 FTP)滚动您自己的上传控制?您不能为此使用 FileUpload 控件,因为它只是呈现 html 标记。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-06
  • 1970-01-01
  • 1970-01-01
  • 2020-07-08
  • 2022-09-29
  • 1970-01-01
相关资源
最近更新 更多