图片上传判断width 等比例压缩
2011-01-19 14:51
323 查看
HttpPostedFile oFile = Request.Files["NewFile"];
// Check if the file has been correctly uploaded
if (oFile == null || oFile.ContentLength == 0 || !(Convert.ToInt32(HttpContext.GetGlobalResourceObject("SystemInfo", "OpenFileup")) == 1))
{
SendResults(202);
return;
}
int iErrorNumber = 0;
string sFileUrl = "";
// Get the uploaded file name.
string sFileName = System.IO.Path.GetFileName(oFile.FileName).Substring(System.IO.Path.GetFileName(oFile.FileName).LastIndexOf(".") + 1).ToLower();
string TypeName = HttpContext.GetGlobalResourceObject("SystemInfo", "UpfileTypeSettings").ToString();
if (!TypeName.Contains(sFileName) ||
oFile.ContentLength >= Convert.ToInt32(HttpContext.GetGlobalResourceObject("SystemInfo", "MaxFileLengthSettingsKB")) * 1024)
//文件类型判断 文件大小验证
{
SendResults(202);
return;
}
int iCounter = 0;
while (true)
{
//判断文件是否可以上传
if (CheckUploadFileExtension(sFileName))
{
string sFilePath = System.IO.Path.Combine(this.UserFilesDirectory, sFileName);
if (System.IO.File.Exists(sFilePath))
{
iCounter++;
sFileName =
System.IO.Path.GetFileNameWithoutExtension(oFile.FileName) +
"(" + iCounter + ")" +
System.IO.Path.GetExtension(oFile.FileName);
iErrorNumber = 201;
}
else
{
if (TypeName.Contains(".gif") || TypeName.Contains(".jpg") || TypeName.Contains("bmp") || TypeName.Contains("png"))
{
System.Drawing.Image image = System.Drawing.Image.FromStream(oFile.InputStream);
int width = image.Width;
int height = image.Height;
int max = Convert.ToInt32(HttpContext.GetGlobalResourceObject("SystemInfo", "ImageMaxWidth"));
if (width > max)
{
try
{
System.Drawing.Image newPic; //定义新位图对象
//String picPath = path + userID + time + fileExtension;
if (width > height)
{
newPic = new Bitmap(image, max, height * max / width); //缩放
}
else
{
newPic = new Bitmap(image, width * max / height, max); //缩放
}
newPic.Save(sFilePath, System.Drawing.Imaging.ImageFormat.Bmp); //将处理后的图片保存成bmp文件
sFileUrl = this.UserFilesPath + sFileName;
break;
}
catch
{
}
}
}
oFile.SaveAs(sFilePath);
sFileUrl = this.UserFilesPath + sFileName;
break;
}
}
else
{
//不允许上传
SendResults(202);
break;
}
}
SendResults(iErrorNumber, sFileUrl, sFileName);
// Check if the file has been correctly uploaded
if (oFile == null || oFile.ContentLength == 0 || !(Convert.ToInt32(HttpContext.GetGlobalResourceObject("SystemInfo", "OpenFileup")) == 1))
{
SendResults(202);
return;
}
int iErrorNumber = 0;
string sFileUrl = "";
// Get the uploaded file name.
string sFileName = System.IO.Path.GetFileName(oFile.FileName).Substring(System.IO.Path.GetFileName(oFile.FileName).LastIndexOf(".") + 1).ToLower();
string TypeName = HttpContext.GetGlobalResourceObject("SystemInfo", "UpfileTypeSettings").ToString();
if (!TypeName.Contains(sFileName) ||
oFile.ContentLength >= Convert.ToInt32(HttpContext.GetGlobalResourceObject("SystemInfo", "MaxFileLengthSettingsKB")) * 1024)
//文件类型判断 文件大小验证
{
SendResults(202);
return;
}
int iCounter = 0;
while (true)
{
//判断文件是否可以上传
if (CheckUploadFileExtension(sFileName))
{
string sFilePath = System.IO.Path.Combine(this.UserFilesDirectory, sFileName);
if (System.IO.File.Exists(sFilePath))
{
iCounter++;
sFileName =
System.IO.Path.GetFileNameWithoutExtension(oFile.FileName) +
"(" + iCounter + ")" +
System.IO.Path.GetExtension(oFile.FileName);
iErrorNumber = 201;
}
else
{
if (TypeName.Contains(".gif") || TypeName.Contains(".jpg") || TypeName.Contains("bmp") || TypeName.Contains("png"))
{
System.Drawing.Image image = System.Drawing.Image.FromStream(oFile.InputStream);
int width = image.Width;
int height = image.Height;
int max = Convert.ToInt32(HttpContext.GetGlobalResourceObject("SystemInfo", "ImageMaxWidth"));
if (width > max)
{
try
{
System.Drawing.Image newPic; //定义新位图对象
//String picPath = path + userID + time + fileExtension;
if (width > height)
{
newPic = new Bitmap(image, max, height * max / width); //缩放
}
else
{
newPic = new Bitmap(image, width * max / height, max); //缩放
}
newPic.Save(sFilePath, System.Drawing.Imaging.ImageFormat.Bmp); //将处理后的图片保存成bmp文件
sFileUrl = this.UserFilesPath + sFileName;
break;
}
catch
{
}
}
}
oFile.SaveAs(sFilePath);
sFileUrl = this.UserFilesPath + sFileName;
break;
}
}
else
{
//不允许上传
SendResults(202);
break;
}
}
SendResults(iErrorNumber, sFileUrl, sFileName);
相关文章推荐
- 图片上传判断width 等比例压缩
- 图片上传判断width 等比例压缩
- iOS开发有用代码(有判断邮箱格式是否正确的代码、图片压缩、亲测可用的图片上传代码和实现点击图片进行跳转的代码等。)
- 上传 图片 等比例压缩
- Java实现的上传并压缩图片功能【可等比例压缩或原尺寸压缩】
- java上传并压缩图片(等比例压缩或者原尺寸压缩)
- EasySwift/YXJImageCompressor 图片压缩,拍照上传压缩图片,比例压缩,data压缩,方便好用
- 《转载》java上传并压缩图片(等比例压缩或者原尺寸压缩)
- php实现上传图片和等比例缩略图压缩图片
- 黄聪:php实现上传图片和等比例缩略图压缩图片
- 上传图片按比例压缩
- 上传等比例压缩图片
- iphone开发]从摄像头/相册获取图片,压缩图片,上传服务器小结
- 图片工具类(图片上传、压缩、旋转、剪切)
- ios中摄像头/相册获取图片,压缩图片,上传服务器方法总结
- iframe+ajaxSubmit结合--续篇(判断图片(文件)大小,上传图片,验证码刷新)
- IOS 图片上传处理 图片压缩 图片处理
- spring mvc 图片上传,图片压缩、跨域解决、 按天生成文件夹 ,删除,限制为图片代码等相关配置
- H5图片上传、压缩
- ASP.NET MVC中使用uploadify上传图片并按照规定大小压缩图片