如何在 ASP.net 中处理从桌面应用程序上传的文件?
我正在使用 WebClient.UploadFile
将文件上传到这种 URL - http:// example.com/file.aspx 通过 HTTP POST 方法。
如何获取该文件并将其保存到服务器上的特定位置?我应该在 file.aspx 中编写什么代码来执行此操作?
当我搜索时,所有示例都假设我使用文件上传控件。但是在 ASP.Net 中如何获取并保存通过 HTTP POST 发送的文件?
我使用的是 C#,所以 C# 代码示例会很棒。但我没有将 VB 转换为 C# 的问题。
I am using WebClient.UploadFile
to upload a file to this kind of URL - http://example.com/file.aspx via HTTP POST method.
How can I get that file and save it to a sepecific location on the server? What code should I write inside file.aspx to do this?
When I search, all examples assume I use the file upload control. But how can I get and save a file sent via HTTP POST generally in ASP.Net?
I am using C#, so C# code example will be great. But I have no probs converting VB to C#.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
在服务器端页面(顺便说一句,应该是 ASHX 而不是 ASPX)中,使用
Request.Files
集合。例如,您可以编写
Request.Files[0].SaveAs(Server.MapPath("~/Something"))
In the server-side page (which, BTW, ought to be an ASHX rather than an ASPX), use the
Request.Files
collection.For example, you can write
Request.Files[0].SaveAs(Server.MapPath("~/Something"))
我相信您应该会发现这篇 MSDN 文章适合您的需求。 WebClient.UploadFile 方法
您可以看到如何使用 page_load 来处理嵌入在来自 webclient 的 http 请求中的文件。
在查看了 @SLaks 的评论后,我同意使用 .ashx 将是一个“更好”的结果。代码应该类似于:
I believe you should find this MSDN article suitable to your needs. WebClient.UploadFile Method
You can see how the page_load is used to handle the file that is embedded in the http request from thew webclient
After reviewing comment from @SLaks I would agree that using a .ashx would be a 'better' result. The code should look something like: