首页 新闻 会员 周边

上传图片不显示问题

0
悬赏园豆:200 [已解决问题] 解决于 2008-08-01 15:59
<P>&lt;a href = ”<A href="http://files.cnblogs.com/clhed/tupian.rar">http://files.cnblogs.com/clhed/tupian.rar</A>“ target="_blank"&gt;文件下载&lt;/&gt;&nbsp;</P> <P>本人用的c#</P> <P>最近发现做了一个上传文件的页面</P> <P>结果发现部分图片无法在ie里面显示(本人用的ie7)</P> <P>先检查地址是否正确</P> <P>发现没问题</P> <P>然后检查图片是否存在 好像还是没有问题</P> <P>最后冲到服务器上把文件下了回来</P> <P>发现在本地有些图片也是出同样的问题</P> <P>但是如果把图片用画图打开然后再另存之后图片就能显示了</P> <P>但是如果不另存在本地也无法打开</P> <P>具体情况我发blog里了 给了个实例在 &lt;a href = ”<A href="http://files.cnblogs.com/clhed/tupian.rar">http://files.cnblogs.com/clhed/tupian.rar</A>“ target="_blank"&gt;文件下载&lt;/&gt;&nbsp; 哪儿</P> <P>&nbsp;</P> <P>&nbsp;</P> <P>&nbsp;</P> <P>&nbsp;</P> <P mce_keep="true">&nbsp;</P>
问题补充: 上传图片部分的代码 /// <summary> /// 上传图片 /// </summary> /// <returns></returns> private string UpLoadPhoto() { string fileName = FileUploadPhoto.FileName; string ext = ".jpg"; // 扩展名 try { ext = FileUploadPhoto.FileName.ToLower(); Regex regex = new Regex("\\.[\\w]{3}"); ext = regex.Match(ext).ToString(); if (ext == null || ext == "") { ext = ".jpg"; } else { if (ext != ".jpg" && ext != ".bmp" && ext != ".gif" && ext != ".png") { ext = ".jpg"; } } } catch { } Random rnd = new Random(); string todayFileDir = DateTime.Today.ToString("yyyy-M-d"); string ImgName = DateTime.Now.ToString("yyyyMMddhhmmss") + rnd.Next() + ext; // 文件名 string filePath = ConfigurationManager.AppSettings["ImageFile"] + todayFileDir + "\\"; if (!System.IO.Directory.Exists(filePath)) { System.IO.Directory.CreateDirectory(filePath); } string sourse = filePath + ImgName; FileUploadPhoto.SaveAs(sourse); string imgUrl = ConfigurationManager.AppSettings["domain"] + "Upload/" + DateTime.Today.ToString("yyyy-M-d") + "/" + ImgName; return imgUrl; } 问题归纳: 1上传的图片在windows画图工具里可以打开,并且无误 2图片地址绝对没有错误,但在ie里无法显示火狐好像也不现实 3将图片什么都不改另存为就可以显示 希望在满足以下条件获得帮助 这些图片为用户上传,本人无法限制用户上传的图片类型种
小眼睛老鼠的主页 小眼睛老鼠 | 老鸟四级 | 园豆:2731
提问于:2008-08-01 13:48
< >
分享
最佳答案
0
图片的DPI太高了啊,我遇到这样的问题,通常是PS处理后没有进厅压缩的,你用画图工具打开另存一下相当于是降低了DPI,设法把DPI降低就可以了
司徒拔's Paradise | 菜鸟二级 |园豆:480 | 2008-08-01 15:40
其他回答(3)
0
试了一下在ie7下有你所说问题,在firefox下两张图都可以显示。应该是ie浏览器对图片格式不够兼容的问题,我提供一种思路: 你可以在上传文件时,先用System.Drawing.Image读取一下图片,然后用image.SaveAs方法保存 只是一种思路,供你参考。
玉开 | 园豆:8822 (大侠五级) | 2008-08-01 14:04
0
图片格式不正确,不是有效的JPG格式(好像也不是其他常用格式,我试过其他格式如GIF/PNG改扩展名后也是可以正常显示的),所以IE无法识别,但是FF可以识别,windows本身也可以正确识别 这应该属于个例,用户上传正常图片不会出现这个问题 建议在上传时使用FileUploadPhoto.PostedFile.ContentType来检测是否是正确的图片格式,而不要只使用扩展名来检测 正确的ContentType应该是“image/xxxx”
丁学 | 园豆:18730 (专家六级) | 2008-08-01 14:25
0
DPI?分辨率?没听说过
無尽海 | 园豆:540 (小虾三级) | 2008-08-01 15:48
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册