<asp:FileUpload ID="FileUpload1" runat="server" Width="428px" />用的是VS2005//图片文件上传部分
if (FileUpload1.FileName == null || FileUpload1.FileName == string.Empty)
{
Response.Write("上传的图片数据丢失或者大于1MK..无法上传.限制1M以内!<br>");
Response.End();
}
else
{
string name = FileUpload1.FileName;
int size = FileUpload1.PostedFile.ContentLength;
string type = FileUpload1.PostedFile.ContentType;
string type2 = name.Substring(name.LastIndexOf(".") + 1);
string protimename = System.DateTime.Now.ToString("yyyyMMddHHmmssms");
FileName = protimename + "." + type2;
string waterpic = "txt_" + protimename + "." + type2; //水印图片名称 string path = Server.MapPath("/upload/propic") + "\\" + FileName;
string txt_path = Server.MapPath("/upload/txt_propic") + "\\" + waterpic; //水印图片保存地址 if (type != "image/pjpeg" && type != "image/gif" && type2 != "jpg" && type2 != "gif")
{
Response.Write("上传的文件格式不正确,仅支持JPG或GIF格式的图片!<br>");
Response.End();
}
if (size <= 0 || size > 1200000)
{
Response.Write("上传的图片数据丢失或者大于500K..无法上传.限制500K以内!<br>");
Response.End();
}
FileUpload1.SaveAs(path);
AddWater(waterpic, txt_path);
}/**/
/// <summary>
/// 在图片上增加文字水印
/// </summary>
/// <param name="sPath">原服务器图片路径</param>
/// <param name="Path_sy">生成的带文字水印的图片路径</param>
protected void AddWater(string sPath, string Path_sy)
{
string addText = "51aspx.com";
System.Drawing.Image image = System.Drawing.Image.FromFile(sPath);
System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(image);
g.DrawImage(image, 0, 0, image.Width, image.Height);
System.Drawing.Font f = new System.Drawing.Font("Verdana", 60);
System.Drawing.Brush b = new System.Drawing.SolidBrush(System.Drawing.Color.Green); g.DrawString(addText, f, b, 35, 35);
g.Dispose(); image.Save(Path_sy);
image.Dispose();
}为什么老是提示
txt_200812301649164916.jpg
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.IO.FileNotFoundException: txt_200812301649164916.jpg源错误:
行 129: {
行 130: string addText = "51aspx.com";
行 131: System.Drawing.Image image = System.Drawing.Image.FromFile(sPath);
行 132: System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(image);
行 133: g.DrawImage(image, 0, 0, image.Width, image.Height);
if (FileUpload1.FileName == null || FileUpload1.FileName == string.Empty)
{
Response.Write("上传的图片数据丢失或者大于1MK..无法上传.限制1M以内!<br>");
Response.End();
}
else
{
string name = FileUpload1.FileName;
int size = FileUpload1.PostedFile.ContentLength;
string type = FileUpload1.PostedFile.ContentType;
string type2 = name.Substring(name.LastIndexOf(".") + 1);
string protimename = System.DateTime.Now.ToString("yyyyMMddHHmmssms");
FileName = protimename + "." + type2;
string waterpic = "txt_" + protimename + "." + type2; //水印图片名称 string path = Server.MapPath("/upload/propic") + "\\" + FileName;
string txt_path = Server.MapPath("/upload/txt_propic") + "\\" + waterpic; //水印图片保存地址 if (type != "image/pjpeg" && type != "image/gif" && type2 != "jpg" && type2 != "gif")
{
Response.Write("上传的文件格式不正确,仅支持JPG或GIF格式的图片!<br>");
Response.End();
}
if (size <= 0 || size > 1200000)
{
Response.Write("上传的图片数据丢失或者大于500K..无法上传.限制500K以内!<br>");
Response.End();
}
FileUpload1.SaveAs(path);
AddWater(waterpic, txt_path);
}/**/
/// <summary>
/// 在图片上增加文字水印
/// </summary>
/// <param name="sPath">原服务器图片路径</param>
/// <param name="Path_sy">生成的带文字水印的图片路径</param>
protected void AddWater(string sPath, string Path_sy)
{
string addText = "51aspx.com";
System.Drawing.Image image = System.Drawing.Image.FromFile(sPath);
System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(image);
g.DrawImage(image, 0, 0, image.Width, image.Height);
System.Drawing.Font f = new System.Drawing.Font("Verdana", 60);
System.Drawing.Brush b = new System.Drawing.SolidBrush(System.Drawing.Color.Green); g.DrawString(addText, f, b, 35, 35);
g.Dispose(); image.Save(Path_sy);
image.Dispose();
}为什么老是提示
txt_200812301649164916.jpg
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.IO.FileNotFoundException: txt_200812301649164916.jpg源错误:
行 129: {
行 130: string addText = "51aspx.com";
行 131: System.Drawing.Image image = System.Drawing.Image.FromFile(sPath);
行 132: System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(image);
行 133: g.DrawImage(image, 0, 0, image.Width, image.Height);
解决方案 »
- input button window.open 如何传值
- win2003的系统,.net 4.0 报错 Server Application Unavailable
- gridview在databind后,怎么不显示呢?
- 验证 (XHTML 1.0 Transitional): 不支持元素“embed”。
- [ASP.NET入门随想七]主角与配角——OO思想的多态、接口与委托
- 两个gridview如何绑定.
- VS.NET2005的global.asax找不到类?找不到原因,大家一起看看
- 请各位帮忙 实现新闻编辑环绕图片效果
- 怎样让浏览者点击一个文件链接时直接下载文件?
- 怎样实现点击打开、点击上传office文档
- 求助关于执行服务端代码后弹出一个confirm对话框
- 求一SQL语句
..........
string waterpic = "txt_" + protimename + "." + type2; //水印图片名称......
string txt_path = Server.MapPath("/upload/txt_propic") + "\\" + waterpic; //水印图片保存地址
.......AddWater(waterpic, txt_path);
string waterpic = "txt_" + protimename + "." + type2; //水印图片名称AddWater(waterpic, txt_path);System.Drawing.Image image = System.Drawing.Image.FromFile(sPath);System.Drawing.Image image = System.Drawing.Image.FromFile(sPath);
spath是图片的地址
而楼主传的是图片名称!!!
注1:filename为图片文件名,文件名的获得方法自行选择.
注2:保存图片需用绝对路径.