var docObj = document.getElementById(doc);
var imgObjPreview = document.getElementById(preview);
if (navigator.userAgent.indexOf("Firefox") > 0) {
//火狐下,直接设img属性
imgObjPreview.style.display = 'block';
imgObjPreview.style.width = '274px';
imgObjPreview.style.height = '205px';
//imgObjPreview.src = docObj.files[0].getAsDataURL();
//火狐7以上版本不能用上面的getAsDataURL()方式获取,需要一下方式
imgObjPreview.src = window.URL.createObjectURL(docObj.files[0]);
$("#hid" + preview).val("1");
} else {
//IE下,使用滤镜
docObj.select();
docObj.blur();
var imgSrc = document.selection.createRange().text;
var localImagId = document.getElementById(localImag);
//必须设置初始大小
localImagId.style.width = "274px";
localImagId.style.height = "205px";
var fileext = imgSrc.substring(imgSrc.lastIndexOf("."), imgSrc.length);
fileext = fileext.toLowerCase()
if ((fileext != '.jpg') && (fileext != '.gif') && (fileext != '.jpeg') && (fileext != '.png') && (fileext != '.bmp')) {
alert("对不起,系统仅支持标准格式的照片,请您调整格式后重新上传,谢谢 !");
return;
}
//图片异常的捕捉,防止用户修改后缀来伪造图片
try {
localImagId.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale)";
localImagId.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = imgSrc;
$("#hid" + preview).val("1");
} catch (e) {
alert("您上传的图片格式不正确,请重新选择!");
return false;
}
imgObjPreview.style.display = 'none';
document.selection.empty();
}
return true;
}
<div style="padding-top: 8px;">
<div class="zm">
<div class="file-input-wrapper" style="overflow: hidden;">
<input type="file" class="file-input" name="doc" id="doc" οnchange="javascript:setImagePreview('doc','preview','localImag');" />
</div>
</div>
<div class="fm">
<div class="file-input-wrapper" style="overflow: hidden;">
<input type="file" class="file-input" name="doc2" id="doc2" οnchange="javascript:setImagePreview('doc2','preview2','localImag2');" />
</div>
</div>
<div class="sc">
<div class="file-input-wrapper" style="overflow: hidden;">
<input type="file" class="file-input" name="doc3" id="doc3" οnchange="javascript:setImagePreview('doc3','preview3','localImag3');" />
</div>
</div>
</div>
<div style="padding-top: 14px; clear: both; height: 205px; margin-top: 50px; clear: both;">
<div class="sfzpic" style="margin-left: 36px;" id="localImag">
<img id="preview" style="display: none" />
</div>
<div class="sfzpic" style="margin-left: 36px;" id="localImag2">
<img id="preview2" style="display: none" />
</div>
<div class="sfzpic" style="margin-left: 36px;" id="localImag3">
<img id="preview3" style="display: none" />
</div>
</div>
System.Web.HttpFileCollection files = Request.Files;
string pics = "";
for (int fileCount = 0; fileCount < files.Count; fileCount++)
{
System.Web.HttpPostedFile postedfile = files[fileCount];
string fileName = System.IO.Path.GetFileName(postedfile.FileName);
if (!String.IsNullOrEmpty(fileName))
{
string fileext = fileName.Substring(fileName.LastIndexOf("."));
fileext = fileext.ToLower();
if ((fileext != ".jpg") && (fileext != ".gif") && (fileext != ".jpeg") && (fileext != ".png") && (fileext != ".bmp"))
{
Page.RegisterClientScriptBlock("key2", "<script>alert('图片上传格式错误!');</script>");
return;
}
string NewfileName = userid.ToString() + "_" + fileCount + "_" + DateTime.Now.ToString("yyyyMMddHHmmss") + fileext;
string fileExtension = System.IO.Path.GetExtension(NewfileName); //获取文件类型
//上传目录
string directory = Server.MapPath("UpLoadFiles/");
//文件全路径
string path = directory + NewfileName;
//判断目录是否存在
if (!Directory.Exists(directory))
{
Directory.CreateDirectory(directory);
}
//上传到服务器的路径
//postedfile.SaveAs(path);
int maxwidth = 800;
int maxheight = 800;
MakeThumbnail2(postedfile, path, maxwidth, maxheight, fileext);
pics += NewfileName + "|";
}
}
public static void MakeThumbnail2(HttpPostedFile file, string thumbnailPath, int width, int height, string mode)
{
Draw.Image originalImage = Draw.Image.FromStream(file.InputStream);
int towidth = width, toheight = height;
int x = 0, y = 0;
int ow = originalImage.Width;
int oh = originalImage.Height;
if (ow > width && oh > height)
{
toheight = originalImage.Height * width / originalImage.Width;
}
else
{
file.SaveAs(thumbnailPath);
return;
}
//新建一个bmp图片
Draw.Image bitmap = new System.Drawing.Bitmap(towidth, toheight, PixelFormat.Format24bppRgb);
//新建一个画板
Draw.Graphics g = System.Drawing.Graphics.FromImage(bitmap);
//设置高质量插值法
g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High;
//设置高质量,低速度呈现平滑程度
g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
//清空画布并以透明背景色填充
g.Clear(Draw.Color.Transparent);
//在指定位置并且按指定大小绘制原图片的指定部分
g.DrawImage(originalImage, new Draw.Rectangle(0, 0, towidth, toheight),
new Draw.Rectangle(x, y, ow, oh),
Draw.GraphicsUnit.Pixel);
try
{
if (mode == ".jpg" || mode == ".jpeg")
{
bitmap.Save(thumbnailPath, System.Drawing.Imaging.ImageFormat.Jpeg);
}
if (mode == ".png")
{
bitmap.Save(thumbnailPath, System.Drawing.Imaging.ImageFormat.Png);
}
if (mode == ".gif")
{
bitmap.Save(thumbnailPath, System.Drawing.Imaging.ImageFormat.Gif);
}
if (mode == ".bmp")
{
bitmap.Save(thumbnailPath, System.Drawing.Imaging.ImageFormat.Bmp);
}
}
catch (System.Exception e)
{
throw e;
}
finally
{
originalImage.Dispose();
bitmap.Dispose();
g.Dispose();
}
}
.file-input
{
background: none repeat scroll 0 0 transparent;
border: medium none;
cursor: pointer;
font-size: 100px;
height: 42px;
left: 0;
width: 269px;
filter: alpha(opacity=0);
-moz-opacity: 0;
-khtml-opacity: 0;
opacity: 0;
}
.file-input-wrapper
{
display: none;
display: block;
height: 42px;
left: 0;
margin: 0;
overflow: hidden;
padding: 0;
top: 0;
width: 269px;
}