发布到服务器上的程序,上传图片时出错,本地测试没问题
发布到服务器上的程序,上传图片时出错,本地测试没问题,看了文件夹的权限都给了写入权限,可能是代码有问题,贴出代码请大家看看哪有问题stringfilePath=image...
发布到服务器上的程序,上传图片时出错,本地测试没问题,看了文件夹的权限都给了写入权限,可能是代码有问题,贴出代码请大家看看哪有问题
string filePath= imageUpload.PostedFile.FileName;
string filename = filePath.Substring(filePath.LastIndexOf("\\") + 1);
string fileEx = filePath.Substring(filePath.LastIndexOf(".") + 1);
string serverpath = Server.MapPath(@"~\images\ftp\") + filename;
string relativepath = @"~\images\ftp\" + filename;
string strSql = "select * from tb_Image where ImageName='"+filename+"'";
DataTable dsTable = dbObj.GetDataSetStr(strSql, "tbImage");
if (dsTable.Rows.Count > 0)
{
Response.Write(ccObj.MessageBox("该图片已存在!"));
}
else
{
//判断图片格式
if (fileEx == "jpg" || fileEx == "bmp" || fileEx == "gif")
{
//生成缩略图
System.Drawing.Image image, newimage;
image = System.Drawing.Image.FromFile(filePath);
System.Drawing.Image.GetThumbnailImageAbort callb=null;
newimage = image.GetThumbnailImage(450, 338, callb, new System.IntPtr());
//把缩略图保存到指定的虚拟路径
newimage.Save(serverpath);
//释放image对象占用的资源
newimage.Dispose();
image.Dispose();
//imageUpload.PostedFile.SaveAs(serverpath);
//将图片的信息保存在数据库中
string strAddSql = "insert into tb_Image(ImageName,ImageUrl)";
strAddSql += "Values('" + filename + "','" + relativepath + "')";
SqlCommand myCmd = dbObj.GetCommandStr(strAddSql);
dbObj.ExecNonQuery(myCmd);
dlImageBind();
Response.Write(ccObj.MessageBox("上传成功!"));
}
else
{
Response.Write(ccObj.MessageBox("上传的图片扩展名错误!"));
}
把我全部的分够贡献出来。
everyone权限都给了,如果我在服务器上的D盘放了张1.jpg,本地的D盘也放张1.jpg,这样上传的话就能成功,我估计是代码的问题,要上传的图片他在服务器上找,而不是本地的图片,但我不知道代码怎么改,还请高手指点。 错误信息大概的意思就是找不到图片. 展开
string filePath= imageUpload.PostedFile.FileName;
string filename = filePath.Substring(filePath.LastIndexOf("\\") + 1);
string fileEx = filePath.Substring(filePath.LastIndexOf(".") + 1);
string serverpath = Server.MapPath(@"~\images\ftp\") + filename;
string relativepath = @"~\images\ftp\" + filename;
string strSql = "select * from tb_Image where ImageName='"+filename+"'";
DataTable dsTable = dbObj.GetDataSetStr(strSql, "tbImage");
if (dsTable.Rows.Count > 0)
{
Response.Write(ccObj.MessageBox("该图片已存在!"));
}
else
{
//判断图片格式
if (fileEx == "jpg" || fileEx == "bmp" || fileEx == "gif")
{
//生成缩略图
System.Drawing.Image image, newimage;
image = System.Drawing.Image.FromFile(filePath);
System.Drawing.Image.GetThumbnailImageAbort callb=null;
newimage = image.GetThumbnailImage(450, 338, callb, new System.IntPtr());
//把缩略图保存到指定的虚拟路径
newimage.Save(serverpath);
//释放image对象占用的资源
newimage.Dispose();
image.Dispose();
//imageUpload.PostedFile.SaveAs(serverpath);
//将图片的信息保存在数据库中
string strAddSql = "insert into tb_Image(ImageName,ImageUrl)";
strAddSql += "Values('" + filename + "','" + relativepath + "')";
SqlCommand myCmd = dbObj.GetCommandStr(strAddSql);
dbObj.ExecNonQuery(myCmd);
dlImageBind();
Response.Write(ccObj.MessageBox("上传成功!"));
}
else
{
Response.Write(ccObj.MessageBox("上传的图片扩展名错误!"));
}
把我全部的分够贡献出来。
everyone权限都给了,如果我在服务器上的D盘放了张1.jpg,本地的D盘也放张1.jpg,这样上传的话就能成功,我估计是代码的问题,要上传的图片他在服务器上找,而不是本地的图片,但我不知道代码怎么改,还请高手指点。 错误信息大概的意思就是找不到图片. 展开
4个回答
展开全部
服务器的路径跟你本地是不一样的,试试string filePath= Server.MapPath("~") + imageUpload.PostedFile.FileName;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果是本地文件不用serve.mapth直接用saveas,上传服务器用serve.mapth
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
傲盾服务器托管的陈磊
参考资料: BB
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询