1.页面添加upload.aspx:
文件上传:<asp:FileUpload ID="FileUpload1" name="idFile" runat="server" onchange="document.getElementById('img1').src= window.URL.createObjectURL(document.getElementById('FileUpload1').files[0]);" />
图片展示:<asp:Image ID="img1" runat="server" />
选择图片可自动展示出来
2.cs上传
if (FileUpload1.HasFile)
{
string fileName = DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString();//年月
string ImgName = ImgUpload.FileName;
string ImgExtention = System.IO.Path.GetExtension(ImgName);
int ImgSize = ImgUpload.PostedFile.ContentLength;//此处取得的文件大小的单位是byte
string FilePath = "/upload" + "/" + fileName;
if (System.IO.Directory.Exists(HttpContext.Current.Server.MapPath(FilePath)) == false)//如果不存在就创建文件夹
{
System.IO.Directory.CreateDirectory(HttpContext.Current.Server.MapPath(FilePath));
}
string FilePathnew = HttpContext.Current.Server.MapPath(FilePath);
string Extension = Path.GetExtension(file.PostedFile.FileName).ToLower();
if (Extension == ".jpg" || Extension == ".png" || Extension == ".gif")
{
//判断图片大小
if (ImgSize / 1024 > 1024)//转换为kb
{
ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('图片大小不能超过1M!');</script>");
}
//判断图片尺寸(宽和高)
System.Drawing.Image upimage = System.Drawing.Image.FromStream(fuTx.PostedFile.InputStream);
int width = upimage.Width;
int height = upimage.Height;
if (width < 500 || height > 500)
{
ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('图片的宽和高不能小于500!');</script>");
}
string NewFilePath = "/" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + Extension;
file.SaveAs(FilePathnew + NewFilePath); //上传图片至文件夹
}
else
{
ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('图片格式不正确,只支持.gif/.jpg/.png格式类型的图片!');</script>");
}
}
综合判断图片文件是否存在,是否重新创建,再判断文件格式是否正确,然后判断图片是否超过设置大小,最后判断了图片尺寸,以免图片上传模糊。有不完善的地方还望指出!

这篇博客介绍了如何使用C#进行图片上传,并在上传前进行尺寸和大小的验证。通过FileUpload控件获取文件,检查文件大小是否超过1MB,以及图片宽度和高度是否小于500像素。如果满足条件,将图片保存到指定文件夹。同时,代码中包含了创建目标文件夹、检查文件格式及图片格式支持的细节。
1837

被折叠的 条评论
为什么被折叠?



