【问题标题】:Upload image from client machine to server using httpWebRequest Post使用 httpWebRequest Post 将图像从客户端机器上传到服务器
【发布时间】:2013-12-28 10:03:26
【问题描述】:

我在 IIS.7 中托管了我的 asp.net Web 应用程序,我尝试了一些示例代码,使用 httpwebrequest post 将图像从客户端机器上传到服务器。但没办法。

我在通过浏览器访问本地机器路径时遇到问题。 我知道出于安全原因浏览器不允许它读取本地机器路径。 那么不使用 fileuplaod 控件和输入文件类型,我怎么能访问呢? 有没有办法以编程方式获取客户端机器路径?

我的要求是:用户不应该允许选择文件路径。 所以在后面的代码中我想读取特定的目录图像文件并在 FileStream 上设置值。

Ex:like

string uploadfile = @"D:\Test.jpg";
FileStream fileStream = new FileStream(uploadfile,FileMode.Open, FileAccess.Read);

当我给出@"D:\Test.jpg 这样的路径时,它会查看服务器机器路径。

我尝试了相同的示例: C# HttpWebRequest form upload

感谢提前

【问题讨论】:

  • 您将不得不编写一些客户端代码。

标签: c# asp.net


【解决方案1】:

您想要做的,在可用的网络应用程序中是不可能的。

第一件事。您的 ASP.NET 代码正在服务器中运行。服务器无权访问客户端硬盘。他们甚至不知道客户是否有硬盘。想象一下,我使用 iPad 访问您的网站。 iPad 没有 C:\ 文件夹。

只有在您的公司网络中有您的客户端计算机,并且服务器具有某些角色和/或权限,这允许他访问网络中使用您站点的每台客户端计算机时,您才能这样做。但即便如此,当客户端到达服务器时,他并不知道网络共享(但您可以在 XML 文件或数据库表中拥有该信息)。但这将是非常糟糕的做法,并且对于您的问题/要求来说不是一个非常优雅的解决方案。

最好和常用的解决方案是 FileUpload 控件,客户端可以在其中选择要上传到服务器的文件。

另一方面,如果你能做你想做的事,没有什么可以阻止我访问你的本地文件,访问敏感文件并将它们上传到服务器。我可以得到你最后一次度假的照片、敏感邮件、密码,随你怎么说。因此,您不能这样做。

【讨论】:

  • 你有什么想法......下面提到**Prakash的参考链接
【解决方案2】:

如果无法在没有文件上传控制的情况下将文件从客户端上传到服务器,那么请澄清以下链接是什么?

http://cristiroma.wordpress.com/2010/06/08/how-to-programatically-upload-a-file-in-c-using-httpwebrequest/

rgds, 直通

【讨论】:

  • 请在 cmets 中寻求澄清。
  • 请澄清以下链接下可用代码的目标,它是用于从客户端上传文件到服务器(或)完全用于不同目的cristiroma.wordpress.com/2010/06/08/…
猜你喜欢
  • 2015-10-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多