当前位置: 代码迷 >> ASP.NET >> 图片上传有关问题。来着有分。及时结帐
  详细解决方案

图片上传有关问题。来着有分。及时结帐

热度:3546   发布时间:2013-02-25 00:00:00.0
图片上传问题。来着有分。及时结帐
今天我发现我做的项目路径错了。
原来的   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
  相关解决方案