码迷,mamicode.com
首页 > Web开发 > 详细

webform中Images图片问题

时间:2020-04-20 21:15:09      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:indexof   方法   help   substr   for   cond   mss   sts   form   

1、格式问题
程序中仅仅限制为*.jpg。
 
2、文件上传使用FileUpload组件,
之后将文件保存到服务器的文件夹中
//获取传文件的名字
string fileName = FileId.FileName;
//判断upload文件夹是否存在,不存在则创建
if (Directory.Exists(Server.MapPath("~/imgupload")) == false)
{
Directory.CreateDirectory(Server.MapPath("~/imgupload"));
}
//获取服务器路径地址
string savePath = Server.MapPath("~/imgupload/");
//设置上传到服务器端的文件名称
string strFileName = DateTime.Now.ToString("yyyyMMddHHmmss") + new Random(DateTime.Now.Second).Next(10000) + fileName.Substring(fileName.LastIndexOf(‘.‘));
FileId.SaveAs(savePath + strFileName);
 
3、将图片的名称保存到数据库时,文件名被截断,
完整的为:201610211031569820.jpg
但是保存到数据的为:201610211031569820.j。
 
原因:
刚开始设计表的时候将src字段的长度设置为nchar(20),
然后使用动软生成的代码的增加一条数据的方法
/// <summary>
/// 增加一条数据
/// </summary>
public int Add(web.Model.tb_images model)
{
StringBuilder strSql=new StringBuilder();
strSql.Append("insert into tb_images(");
strSql.Append("src,foreign_id,upload_date)");
strSql.Append(" values (");
strSql.Append("@src,@foreign_id,@upload_date)");
strSql.Append(";select @@IDENTITY");
SqlParameter[] parameters = {
new SqlParameter("@src", SqlDbType.NChar,20),
new SqlParameter("@foreign_id", SqlDbType.NChar,50),
new SqlParameter("@upload_date", SqlDbType.DateTime)};
parameters[0].Value = model.src;
parameters[1].Value = model.foreign_id;
parameters[2].Value = model.upload_date;
 
object obj = DbHelperSQL.GetSingle(strSql.ToString(),parameters);
if (obj == null)
{
return 0;
}
else
{
return Convert.ToInt32(obj);
}
}
 
此处添加的@src 格式为nchar,长度为20。也就是只保存20的长度,所以会被截断。
解决:
将长度修改为50
new SqlParameter("@src", SqlDbType.NChar,50),
 
4、浏览器中无法显示图片
问题:
在程序中拼接的图片地址为:C:/Users/Windows10/Desktop/10210834/Web/imgupload/201610211000324438.jpg
在浏览器中直接访问是可以查看的,但是在img中的src,就无法访问。
 
原因:
web访问 应该给予http地址,而不是本机地址。
 
解决:
在web.config中添加键,用于修改服务器地址
<add key="MyUrl" value="http://localhost:20179/"/>
程序中的拼接
服务器地址+文件夹名称+文件名称(包括扩展名)
Image1.ImageUrl = ImgUrl+"/imgupload/" + strFileName;
 
5、仍然无法显示图片
问题:
此时获取的src地址为,后面多了很多乱字符
 
原因:
DAL中的添加方法,设置的src数据类型为nchar,50。当字符串长度不足50时,会自动填充字符。
 
解决:
将src的数据类型修改为nvarchar,50。
字符串的长度根据的实际赋值的字符串设定,但是最长为50。
 
6、上传的图片在img中变形
解决:指定image组件的宽或高的最大像素,之后图片在载入时就会自动按此进行同比例缩放。
<asp:Image ID="Image1" runat="server" Height="300px" />

webform中Images图片问题

标签:indexof   方法   help   substr   for   cond   mss   sts   form   

原文地址:https://www.cnblogs.com/masonblog/p/12740542.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!