c# Asp.Net上传图片
程序员文章站
2023-12-28 11:57:28
...
c# Asp.Net上传图片
aspx页面
<asp:Image ID="imgBindShow" runat="server" />
<asp:FileUpload ID="uploadImage" runat="server" accept=".jpg,.png,.jpeg"/>
<asp:Button ID="btnUploding" runat="server" Text="上传图片" OnClick="btnUploding_Click" />
<br />
后台cs文件
引入命名空间
using System.IO;
protected void btnUploding_Click(object sender, EventArgs e)
{
/*
设置路径,绝对路径和相对路径的拼接
文件夹的创建和是否存在的判断
文件大小的判断
判断上传后的文件夹里是否含有指定的图片
*/
//获取网站部署的目录,绝对路径
string tmpRootDir = Server.MapPath(System.Web.HttpContext.Current.Request.ApplicationPath.ToString());//获取程序根目录
//相对路径下的位置
string filePath = @"2.0 文件上传\2.1 图片上传\ProductImage\";
//为防止文件名重名,同一时间多人传同一文件,服务器出错
string dateTimeNow = DateTime.Now.ToString("yyyymmddhhmmssms");
//图片上传的文件夹
string folderPath = tmpRootDir + filePath + dateTimeNow;
//判断是否存在该文件夹 如果不存在
if (Directory.Exists(folderPath)==false)
{
//创建文件夹
Directory.CreateDirectory(folderPath);
}
//再次判断是否存在
if (Directory.Exists(folderPath))
{
//存在/成功创建 文件夹
folderPath = folderPath + @"\";
}
//获取图片名称
string fileName = uploadImage.FileName;
if (fileName=="")
{
ClientScript.RegisterStartupScript(GetType(), "", "<script>alert('请选择图片!!!')</script>");
return;
}
//最后拼接出整体路径
string pathLast = folderPath + fileName;
//限制上传文件的大小,系统默认4M
//1Mb=1024kb=(1024*1024)b
if (uploadImage.PostedFile.ContentLength>((1024*1024)*10))
{
ClientScript.RegisterStartupScript(GetType(), "", "<script>alert('文件大小超过10MB!!!')</script>");
//结束执行
return;
}
//保存到指定路径
uploadImage.SaveAs(pathLast);
//枚举指定路径里面,指定文件的数量,类型为long
long ImgNum = Directory.GetFiles(folderPath, fileName, SearchOption.AllDirectories).LongLength;
if (ImgNum >= 0)
{
ClientScript.RegisterStartupScript(GetType(), "", "<script>alert('上传成功!!!')</script>");
}
else
{
ClientScript.RegisterStartupScript(GetType(), "", "<script>alert('上传失败!!!')</script>");
return;//不存在
}
//#### 注意:在C#端限制所传文件大小不好用。
//#### 原因:如果文件超过了系统最大长度,C#端是限制不住的,会直接将程序崩溃。
//#### 也可以在Web.confight里面设置所传文件的大小
//
#region 这里是是Js限制上传文件大小
// < script >
// document.getElementById("Button1").onclick = function()
// {
// var file = document.getElementById("FileUpload1");
// if (file.value.length <= 0)//如果选中选中文件没有文件没有长度,就是没有选中文件
// {
// alert("请选择所传文件");
// return false;//停止操作
// }
// else
// {
// if (file.files[0].size > ((1024 * 1024) * 10))//<strong>选中文件的第一个文件的大小</strong>大于等于10M
// {
// alert("文件大小怒鞥超过10Mb");
// return false;//停止操作
// }
// }
// }
// </script >
#endregion
}