日期:2014-05-19  浏览次数:20455 次

急:客户端上传图片路径的问题
敝人的网站上有个上传图片的功能,我是把上传的图片存储到SQLServer的一张表IMAGE中(字段为imageid(int型)、image(image型)),在我本机上调试的时候获取图片上传完整路径和文件名是这样写的:
                //得到完整路径和文件名
                private   string   GetFile()
                {
                        HttpPostedFile   file   =   File1.PostedFile;
                        fileName   =   file.FileName;
                        return   fileName;
                }

可是当我把网站发布到服务器时(另一台机),从我机上(客户端)上传图片却出现问题:
'd:\My   Pictures\Blue   hills.jpg '   is   not   a   valid   virtual   path.  

请问要如何解决,好象是什么虚拟路径的问题,要用到Server.mappath()吗?具体是怎么写呢
感谢您的帮助!

------解决方案--------------------
fileName = file.FileName;

这个不对,你在服务器上保存的名字应该自己来设定。
------解决方案--------------------
是否设置了文件的权限,还有,给你段上传图片的代码参考一下:
fileExtension = System.IO.Path.GetExtension(fileName);
if(!File.Exists(System.Web.HttpContext.Current.Request.MapPath( "../xinxipic/ "+Session[ "userName "].ToString()+ "/ ") + fileName))
{
pic.PostedFile.SaveAs(System.Web.HttpContext.Current.Request.MapPath( "../xinxipic/ "+Session[ "userName "].ToString()+ "/ ") + fileName);
Response.Write( " <script> alert( '信息审核后将被发布,请执行其他操作!!! ');window.location.href= 'released.aspx '; </script> ");
}
else
{
Response.Write( " <script> alert( '图片名已存在,请修改名称后重新上传!!! ') </script> ");
}
------解决方案--------------------
你存客户端的路径没有任何用处
------解决方案--------------------
孟子说了啊,你保存客户短路径有什么用呢?
你要吧名字保存下来,用截取字符的方式。

asp.net2.0(c#)图片上传,加水印并预览的功能实现
http://hi.baidu.com/hzeric/blog/category/%CD%F8%D5%BE%B9%A6%C4%DC%CA%B5%CF%D6