日期:2014-05-18  浏览次数:20477 次

图片上传问题。来着有分。及时结帐
今天我发现我做的项目路径错了。
原来的   http://localhost/wwwroot/index.aspx
所以今天把路径该了过来http://localhost/index.aspx

于是我上传东西的时候就抱错:
错误描述:
上传发生错误!原因:System.IO.FileNotFoundException:   C:\Documents   and   Settings\Administrator\桌面\猫\25.jpg   在   System.Drawing.Image.FromFile(String   filename,   Boolean   useEmbeddedColorManagement)   在   System.Drawing.Image.FromFile(String   filename)   在   ImageThumbnail..ctor(String   ImageFileName)   位置   e:\wwwroot\App_Code\ImageThumbnail.cs:行号   15   在   admin_cus_manage_invete_edit.Button4_Click(Object   sender,   EventArgs   e)   位置   e:\wwwroot\admin\cus_manage\invete_edit.aspx.cs:行号   129




------解决方案--------------------
在cs代码里改下路径,最好用相对路径,一般错不了。
------解决方案--------------------
使用相对路径
------解决方案--------------------
要用MapPath把虚拟路径转换成物理路径。例如:
Server.MapPath( "/upload ")
------解决方案--------------------
Server.MapPath( "user/user_image ")好一点,尽量避免用绝对路径。

------解决方案--------------------
jf
------解决方案--------------------
ImageThumbnail.cs 没有问题,问题是targetFilePath参数上,跟踪下。
------解决方案--------------------
一般要用Server.MapPath这个转一下
------解决方案--------------------
filepath 是客户端路径,这样是不对的, 应该先保存到服务器,然后用服务器路径生成图片. 如 string sServerPath = Server.Mappath( "aa.jpg "); FileUpload1.PostedFile.SaveAs(sServerPath); ImageThumbnail img = new ImageThumbnail(sServerPath );
------解决方案--------------------
ImageThumbnail img = new ImageThumbnail(filepath);应该是这里出错
把参数改成serverpath或者其他的服务器端路径,你这里是客户端路径,自然会出错
------解决方案--------------------
up
------解决方案--------------------
if (FileUpload1.HasFile)
{
string filepath = FileUpload1.FileName;
...
}
------解决方案--------------------
我打了一下短点发现 问题出在

string filepath = FileUpload1.PostedFile.FileName; (问题就出在这儿)
//获取上传文件路径
string filename = filepath.Substring(filepath.LastIndexOf( "\\ ") + 1);
filename = "Business_ " + Convert.ToString(Session[ "User_name "]) + System.DateTime.Now.ToString( "yyy-MM-dd-hh-mm-ss ") + filename;
string serverpath = "e:/wwwroot/member_page/user/user_image/ " + filename;


Response.Write( "serverpath: " + serverpath + " <br/> ");
Response.Write( "filepath: " + filepath + " <br/> ");
//上传图片
ImageThumbnail img = new ImageThumbnail(filepath);(当这儿把参数传进去就报错)
-------------------------------------------
肯定报错,一个是客户端,一个是服务器端。服务器端还没有这个文件。
------解决方案--------------------
E:\wwwroot\admin\cus_manage\member_page\user\user_image\
这个目录你服务器上有没有?
------解决方案--------------------
路过,JF