1、使用FileUpload控件
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Study_FileUpload1.aspx.cs" Inherits="StudyFromNow.Study_FileUpload1" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>上传-FileUpload</title>
</head>
<body>
<form id="Form1" runat="server">
<div>
<fieldset style="width: 290px">
<legend>FileUpload控件</legend>
<br />
<asp:FileUpload ID="FileUpload1" runat="server" />
<asp:Button ID="BtnUpload" runat="server" Text="上传" OnClick="BtnUpload_Click" />
<hr />
<asp:Label ID="lblMsg" runat="server" ForeColor="red" /><br />
<asp:Label ID="lblMsg2" runat="server" />
</fieldset>
</div>
</form>
</body>
</html>
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
namespace StudyFromNow
{
public partial class Study_FileUpload1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void BtnUpload_Click(object sender, EventArgs e)
{
bool isAllowed = false;
string destPath = Server.MapPath("~/Temp/");
if (FileUpload1.HasFile)
{
String fileExtension = System.IO.Path.GetExtension(FileUpload1.FileName).ToLower();
String[] allowedExtensions = { ".gif", ".png", ".bmp", ".jpg" };
for (int i = 0; i < allowedExtensions.Length; i++)
{
if (fileExtension == allowedExtensions[i])
{
isAllowed = true;
}
}
}
if (isAllowed)
{
try
{
FileUpload1.SaveAs(destPath + FileUpload1.FileName);
lblMsg.Text = "文件上传成功.";
lblMsg2.Text = "<b>原文件路径:</b>" + FileUpload1.PostedFile.FileName + "<br />" +
"<b>文件大小:</b>" + FileUpload1.PostedFile.ContentLength + "字节<br />" +
"<b>文件类型:</b>" + FileUpload1.PostedFile.ContentType + "<br />";
}
catch (Exception ex)
{
lblMsg.Text = "文件上传不成功.";
}
}
else
{
lblMsg.Text = "只能够上传图片文件.";
}
}
}
}
2、使用 input type="file"
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Study_FileUpload2.aspx.cs"
Inherits="StudyFromNow.Study_FileUpload2" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>文件上传-INPUT</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<fieldset>
<legend>文件上传-INPUT</legend>
<input type="file" id="UploadFile" name="UploadFile" runat="server" />
<br />
<asp:Button ID="btn_upload" runat="server" Text="上传" OnClick="btn_upload_Click" />
<hr />
<asp:Label ID="lblMsg" runat="server" ForeColor="red" /><br />
<asp:Label ID="lblMsg2" runat="server" />
</fieldset>
</div>
</form>
</body>
</html>
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
namespace StudyFromNow
{
public partial class Study_FileUpload2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btn_upload_Click(object sender, EventArgs e)
{
if (UploadFile.PostedFile.FileName.Trim() != "")
{
bool isAllowed = false;
isAllowed = fileChecked(UploadFile);
string destPath = Server.MapPath("~/Temp/");
string fileName = UploadFile.PostedFile.FileName;
fileName = fileName.Substring(fileName.LastIndexOf("\\") + 1);
if (isAllowed)
{
try
{
UploadFile.PostedFile.SaveAs(destPath + fileName);
lblMsg.Text = "文件上传成功.";
lblMsg2.Text = "<b>原文件路径:</b>" + UploadFile.PostedFile.FileName + "<br />" +
"<b>文件大小:</b>" + UploadFile.PostedFile.ContentLength + "字节<br />" +
"<b>文件类型:</b>" + UploadFile.PostedFile.ContentType + "<br />";
}
catch (Exception ex)
{
lblMsg.Text = "文件上传不成功.";
}
}
else
{
lblMsg.Text = "只能够上传图片文件.";
}
}
}
private bool fileChecked(HtmlInputFile UploadFile)
{
bool isAllowed = false;
string fileExtension = System.IO.Path.GetExtension(UploadFile.PostedFile.FileName.Trim());
string[] allowedExtenstions = { ".gif", ".png", ".bmp", ".jpg" };
for (int i = 0; i < allowedExtenstions.Length; i++)
{
if (fileExtension == allowedExtenstions[i])
{
isAllowed = true;
}
else
{
isAllowed = false;
}
}
return isAllowed;
}
}
}
注:两种方法基本相同,只是cs文件对于上传文件处理略有不同,作为记录,方便查阅。
分享到:
相关推荐
在ASP.NET中实现多文件上传是一项常见的功能,尤其在构建Web应用程序时,用户可能需要一次上传多个文件,例如图片、文档或视频。本教程将详细解释如何在ASP.NET环境中实现这一功能,包括必要的HTML控件、服务器端...
在ASP.NET中实现批量文件上传是一项常见的需求,尤其在处理大量用户数据时。在这个场景下,我们可以使用jQuery库中的`jquery.form`插件来增强页面的交互性,并结合ASP.NET后端技术,实现异步、无刷新的批量文件上传...
在本文中,我们使用ASP.NET缓存机制来实现文件上传进度条的显示。ASP.NET缓存机制能够帮助我们缓存文件上传的信息,从而实现进度条的显示。在本文中,我们使用ASP.NET缓存机制来缓存文件上传的信息,然后使用ajax...
在ASP.NET中,多文件上传是一项常见的功能,用于允许用户一次性选择并上传多个文件到服务器。这个实例将向我们展示如何使用C#编程语言在ASP.NET环境中实现这一功能。以下是一份详细的步骤和知识点解析: 1. **HTML...
在ASP.NET中处理文件上传是常见的需求,尤其是在用户需要提交图片、文档或其他数据文件时。这篇博客文章“ASP.NET通过HTML的上传文件标签来上传文件”将引导我们了解如何在ASP.NET环境中实现文件上传功能。 首先,...
### 图片文件上传代码在ASP.NET中的实现 #### 核心知识点概述 本文将围绕一个ASP.NET中的图片文件上传功能进行详细的分析与讲解。通过深入理解所提供的代码片段,我们可以了解到如何利用ASP.NET来处理文件上传的...
通过以上步骤和策略,开发者可以在C# ASP.NET环境中实现高效、安全的大文件上传功能,为用户提供良好的上传体验。在整个过程中,需要注意性能优化、用户体验提升和安全性保障,确保Web应用的稳定运行。
在ASP.NET中实现上传图片并在页面上显示是一个常见的需求,主要涉及到文件上传、图像处理以及前端展示等技术。以下是对这个主题的详细说明: 一、ASP.NET文件上传基础 ASP.NET提供了一些内置的控件和类来支持文件...
本文将深入探讨如何在ASP.NET Web API中实现文件上传功能,并涉及MIME多部分类型。 首先,让我们了解MIME(Multipurpose Internet Mail Extensions)多部分类型。MIME是一种标准,用于定义电子邮件和其他网络传输的...
在这个"asp.net mvc 实现文件上传"的例子中,我们将深入探讨如何在ASP.NET MVC应用中实现文件上传功能,这对于任何Web开发人员来说都是一个基本且实用的技能。 首先,我们需要在控制器(Controller)中创建一个动作...
在ASP.NET中,文件上传主要依赖于`<asp:FileUpload>`控件。首先,在网页的HTML部分添加此控件,然后在服务器端处理文件上传。以下是一个简单的示例: ```html <asp:FileUpload ID="FileUpload1" runat="server" /> ...
综上所述,实现ASP.NET中的大文件上传并带有进度条功能,涉及到的技术点广泛,包括文件分块、合并、进度条UI、错误处理、安全控制等。理解这些知识点并能够灵活应用,对于开发高效且用户体验良好的文件上传系统至关...
以上是关于"asp.net mvc+Bootstrap Fileinput框架实现的文件上传"的相关知识点,这个示例提供了在ASP.NET MVC环境中集成Bootstrap Fileinput进行文件上传的完整流程,对于开发者来说具有很好的参考价值。通过学习和...
在这个场景中,我们关注的是如何使用ASP.NET来实现多文件上传的功能。多文件上传在现代Web应用中非常常见,例如用户可能需要上传一组照片或者文档。与一次性多选文件自动生成多个连接的上传方式不同,这里描述的实现...
FileUpload 文件上传组件的ASP.NET实例,基于主副窗口的上传程序,利用线程提升上传速度。本插件可支持多文件上传,为了提升上传体验,这里使用了AjaxControlToolkit.dll、... ASP.NET中实现FileUpload多文件上传
在实现文件上传和下载时,需要注意安全性和性能问题。例如,限制文件大小以防止DoS攻击,检查文件类型以避免恶意文件上传,优化文件存储结构以提高读取速度,以及使用缓存和CDN服务来加速文件下载。 总结来说,通过...
在Asp.net MVC框架中,实现在线预览各种办公文档,如Word、Excel、PowerPoint和PDF文件,是一项常见的需求。这通常涉及到技术栈的整合,包括后端处理和前端展示。以下是一些关键知识点: 1. **Asp.net MVC框架**:...
在ASP.NET中,实现多文件上传通常会使用`<asp:FileUpload>`控件,它可以一次性选择多个文件。但是,由于HTTP协议的限制,浏览器默认一次只能上传一个文件。为了解决这个问题,开发者通常会借助AJAX技术,通过创建...
在ASP.NET中,我们可以使用`<asp:FileUpload>`控件来让用户选择要上传的文件。用户在前端选择文件后,这些文件的信息会作为POST请求的一部分发送到服务器。在服务器端,我们可以通过`HttpPostedFileBase`接口来访问...
3. **服务器端处理**:在ASP.NET中,我们需要一个接收图片数据的HTTP POST接口。可以创建一个ASHX(HTTP Handler)或者API控制器来处理这个请求。C#代码会接收到二进制数据,然后将其保存为图片文件。考虑到安全性和...