C#中FileUpload控件获取的路径为什么会是C:\Program Files\Common Files\Microsoft\10.0文件在E盘

C#中FileUpload控件获取的路径为什么会是C:\Program Files\Common Files\Microsoft\10.0
我上传的文件其实是在E盘的。。。
string fileName = this.FileUpload1.PostedFile.FileName;
FileInfo fi = new FileInfo(fileName);
fullname = fi.FullName;
Response.write(fileName);
Response.write(fullname);
这里的fileName不是就应该打印出文件的路径吗?但打印的只是文件名。
fullname打印的是C:\Program Files\Common Files\Microsoft\10.0+文件名。
究竟是哪里出了问题,这个问题很急。如果能帮我解决会给加给分。各位大神!
是不是我的VS2010安装错了,或者是其他原因。之前是正确的。不过我后来又在VS里面添加了引用,不过没有添加成功,这个应该没有关系的吧。

明显是IE的安全限制导致你程序获取路径有问题。解决方案如下:

    修改IE设置,在InterNet属性中将允许文件下载启用即可。这个方法只能是暂时的,因为不同客户端的IE配置情况不同。

    页面采用form提交方式,这个问题我在easyui的框架中碰到并解决。如果你request的话肯定是不行的。

    希望能帮到你,如果说的不对请见谅。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-06
fileName 这个路径 就是 物理你传的物理地址。不是服务器上面的地址。
下面有个方法希望对你有用

private void FileUpload_Gg(FileUpload file,Image imgs)
{
string uploadName = file.PostedFile.FileName; //获取待上传图片的完整路径,包括文件名
string pictureName = "";//上传后的图片名,以当前时间为文件名,确保文件名没有重复
if (uploadName != "")
{
int idx = uploadName.LastIndexOf(".");
string suffix = uploadName.Substring(idx);//获得上传的图片的后缀名
pictureName = DateTime.Now.Ticks.ToString() + suffix;
}
try
{
if (uploadName != "")
{
string path = Server.MapPath("~/upload/user/");
Function.FolderCreate(path);
file.PostedFile.SaveAs(path + pictureName);
imgs.ImageUrl = "~/upload/user/" + pictureName;
}
}
catch (Exception ex)
{
Response.Write(ex);
}
}

调用方法

FileUpload_Gg(FileUpload1, Image1);

这里的FileUpload1 是 FileUpload控件的ID,Image1是Image控件ID。
得到地址是 Image1.ImageUrl
希望楼主早日解决问题。有什么不明白的可以HI百度我~~~本回答被提问者和网友采纳
第2个回答  2013-12-25
FileUpload明显是关于“上传”,而你一再地说“打印”,这是怎么回事?追问

这不是重点,重点是Response.Write输出的fullname和fileName都是错的。譬如我在E盘存了一个1.doc的文件,Response.Write的fileName和fullname不就应该是E:\1.doc吗?可是现在程序输出的是 C:\Program Files\Common Files\Microsoft Shared\DevServer\10.0\1.doc

追答

说了半天我似乎还是没看出你的重点是什么?你如何让回答的人重现你的问题呢?

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网