我想获取保存在客户端计算机中的图像的路径。我知道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中。
此图像在客户端计算机中可用,但在服务器计算机中不可用。
那么,如何从客户端机器获取此图像路径&我怎么能解决这个问题?
答案 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?