100高分请教!图片上传问题。
foreach (System.Web.UI.HtmlControls.HtmlInputFile inputList in arr)
{
string path= "路径+文件名 ";
inputList.PostedFile.SaveAs(path);
}
其中arr是protected ArrayList arr = new ArrayList();
现在的问题是我的机器上传都正常,我一个同事的机器上传某张图片出错,不能正常上传(系统会按路径自动生成大小为0kb的图片),但是上传别的图片又正常,那图片是.jpg类型,大小82kb。急!!!
------解决方案--------------------仔细调试 你把错误描述帖出来给我看看!
------解决方案--------------------ms不是程序的问题.
跟踪一下,那个图片上传后postedfile的.length是多少?
------解决方案--------------------大小为0的图片会有溢出的错误。必须事先判断图片的大小。贴上自己写的代码,楼主参考一下
===
/// <summary>
/// 按比例缩放图片,并非按原来大小裁剪
/// 水平长度优先.
/// </summary>
public static string ResizeImage(string _srcImage, int _DstX, string _dstPath)
{
System.Drawing.Image img = System.Drawing.Image.FromFile(_srcImage);
int newHight = img.Height;
int newWidth = img.Width;
while (newWidth > _DstX)//按比例缩小图片
{
newHight = Convert.ToInt32(newHight / 1.01);
newWidth = Convert.ToInt32(newWidth / 1.01);
}
System.Drawing.Image newimg = img.GetThumbnailImage(newWidth, newHight, new System.Drawing.Image.GetThumbnailImageAbort(ThumbCallBack), IntPtr.Zero);
System.Drawing.Bitmap bmp = new System.Drawing.Bitmap(newimg);
string tempName=GenRandomNumber(22) + ".jpg ";
bmp.Save(_dstPath + tempName , System.Drawing.Imaging.ImageFormat.Jpeg);
return tempName;
}
/// <summary>
/// 按比例缩放图片,并非按原来大小裁剪
/// 垂直长度优先
/// </summary>
public static string ResizeImage(int _DstY, string _srcImage, string _dstPath)
{
System.Drawing.Image img = System.Drawing.Image.FromFile(_srcImage);
int newHight = img.Height;
int newWidth = img.Width;
while (newWidth > _DstY)//按比例缩小图片
{
newHight = Convert.ToInt32(newHigh