下面是详细讲解“ASP.NET图片上传实例(附源码)”的完整攻略:
ASP.NET图片上传实例(附源码)攻略
简介
ASP.NET图片上传是一个非常常见的需求,本文将介绍ASP.NET如何实现图片上传,并附上完整的源码。本示例使用C#编程语言,在Visual Studio 2019下开发。
准备工作
在开始之前,我们需要准备一些材料:
-
Visual Studio 2019
-
一个空的ASP.NET项目
实现过程
- 在ASP.NET页面中添加一个文件上传组件
<form id="form1" runat="server" enctype="multipart/form-data">
<div>
<input type="file" name="fileUpload" />
<input type="submit" value="上传" />
</div>
</form>
- 在代码中实现文件上传功能
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack)
{
HttpPostedFile file = Request.Files["fileUpload"];
if (file != null && file.ContentLength > 0)
{
string fileName = Path.GetFileName(file.FileName);
string path = Server.MapPath("~/Upload/" + fileName);
file.SaveAs(path);
Response.Write("上传成功!");
}
}
}
我们首先从Request对象中获取名为“fileUpload”的文件,并判断是否为空。如果不为空,则获取文件名、保存路径,最后将文件保存到服务器本地。如果保存成功,则输出“上传成功!”字符串。
- 测试文件上传功能
打开项目,点击上传按钮,选择一张图片进行上传。如果一切正常,则会输出“上传成功!”字符串,图片也会保存在项目下的Upload目录中。
示例说明
- 限制文件类型
有时候,我们只需要上传某种类型的文件,其他类型的文件都需要被限制掉。我们可以通过文件后缀名来实现这个功能。
// 仅允许上传jpg、png和gif格式的图片
if (file != null && file.ContentLength > 0 &&
(Path.GetExtension(file.FileName).ToLower() == ".jpg" ||
Path.GetExtension(file.FileName).ToLower() == ".png" ||
Path.GetExtension(file.FileName).ToLower() == ".gif"))
{
// ...
}
else
{
Response.Write("无法上传此类型的文件!");
}
- 图片重命名
如果我们有多个用户上传同名的图片,那么就会发生冲突。为了防止这种情况,我们可以在上传时给图片重新命名。
string fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + Path.GetExtension(file.FileName);
string path = Server.MapPath("~/Upload/" + fileName);
file.SaveAs(path);
Response.Write("上传成功!");
以上操作会将上传的图片文件名改为当前的年月日小时分钟秒毫秒数+文件后缀名。这样可以避免同名文件的重复。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:ASP.NET图片上传实例(附源码) - Python技术站