2

我想获取保存在客户端机器中的图像的路径。我知道图像的路径和文件名。通过使用 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);
}

在这里,我将图像转换为字节,并调用CallDBMethod将此字节详细信息插入 DB..

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

那么,如何从客户端计算机获取此图像路径以及如何解决此问题?

4

2 回答 2

2

如果没有文件上传控件,除非您创建 Activex 控件(可能不适用于所有浏览器。用户必须授予运行此控件的权限),否则这是不可能的。

在 Web 应用程序中,您不能从用户的计算机中获取(窃取)任何文件,除非他们采取行动(例如:在“文件输入”控件中选择文件并单击某个上传按钮)。

如果您想在文件上传控件中选择文件用户的完整文件路径,您可以通过HttpPostedFile.FileName属性获取,该属性为您提供客户端上文件的完全限定名称(例如:)C:\MySomeFolder\SomeFile.jpg

 string fullPath=FileUpload1.HttpPostedFile.FileName

假设FileUpload1是文件上传控件的 ID。

于 2012-07-26T13:42:56.707 回答
0

据我所知,这是不可能的。您无法获取客户端的图像路径。浏览器不允许我们获取路径。Using fileupload control you can also not get the complete path. 我的一个类似问题 如何使用 asp.net 中的文件上传控制或任何其他方式获取完整的文件路径?

于 2012-07-26T13:44:40.647 回答