C# - 从客户端计算机获取图像路径

时间:2012-07-26 13:40:35

标签: c# asp.net

我想获取保存在客户端计算机中的图像的路径。我知道Image的路径和文件名。通过使用FileUpload我可以做到,但不使用fileupload就可以获取文件的路径??。

我的情景如下,

Public void ConverttoByte()
{
    //Get the image path from web.config & this image is in client machine
    string strConfig = @"C:\Manikandan\image\image1.jpg"; 
    MemoryStream MS = new MemoryStream();
    Byte[] data;
    int fiFileSize;
    System.Drawing.Image image;
    image = System.Drawing.Image.FromFile(strConfig);
    image.Save(MS, System.Drawing.Imaging.ImageFormat.Gif);
    data = MS.ToArray();
    CallDBMethod(data);
}

在这里,我将图像转换为 Byte ,然后调用 CallDBMethod 将此字节详细信息插入到DB中。

此图像在客户端计算机中可用,但在服务器计算机中不可用。

那么,如何从客户端机器获取此图像路径&我怎么能解决这个问题?

2 个答案:

答案 0 :(得分:2)

没有文件上传控件,不可能除非你创建一个Activex控件(可能不适用于所有浏览器。用户必须授予运行此控件的权限)。

在Web应用程序中,您无法从用户的计算机中获取(窃取)任何文件,而无需他们执行操作(例如:在“文件输入”控件中选择文件并单击某个上载按钮)。

如果您希望在文件上传控件中选择文件用户的完整文件路径,则可以通过HttpPostedFile.FileName属性获取,该属性为您提供客户端上文件的完全限定名称(例如:{{1 }})。

C:\MySomeFolder\SomeFile.jpg

假设 string fullPath=FileUpload1.HttpPostedFile.FileName 是文件上传控件的ID。

答案 1 :(得分:0)

据我所知,这是不可能的。您无法获得客户端的图像路径。浏览器不允许我们获取路径。 Using fileupload control you can also not get the complete path. 我也是一个类似的问题 How to Get complete file path using file upload control in asp.net or any other way?