Test.aspx关键代码

  ASP.NET依托。net framework类库,封装了大量的功能,使得上传文件非常简单,主要有以下三种基本方法。

  方法一:用Web控件FileUpload,上传到网站根目录。

  代码如下

  Test.aspx关键代码:

  

  Test.aspx.cs关键代码:

  protected void Button1_Click(object sender, EventArgs e)

  {

  if (FileUpload1.HasFile)

  {

  FileUpload1.SaveAs(Server.MapPath("~/") + FileUpload1.FileName);

  Label1.Text = "上传成功!";

  }

  }

  方法二:用Html控件HtmlInputFile,上传到网站根目录。

  代码如下

  Test.aspx关键代码:

  

  

  

  

  

  Test.aspx.cs关键代码:

  protected void Button1_Click(object sender, EventArgs e)

  {

  if (file1.PostedFile.ContentLength > 0)

  {

  file1.PostedFile.SaveAs(Server.MapPath("~/") + Path.GetFileName(file1.PostedFile.FileName));

  Label1.Text = "上传成功!";

  }

  }

  方法三:用Html元素,通过Request.Files上传到网站根目录。

  代码如下

  Test.aspx关键代码:

  

  

  

  

  

  Test.aspx.cs关键代码:

  protected void Button1_Click(object sender, EventArgs e)

  {

  if (Request.Files["file"].ContentLength > 0)

  {

  Request.Files["file"].SaveAs(Server.MapPath("~/") + Path.GetFileName(Request.Files["file"].FileName));

  Label1.Text = "上传成功!";

  }

  }

  注意两个区别:

  一:FileUpload.FileName获取客户端上传文件名(不带路径),而file1.PostedFile.FileName 和Request.Files["file"].FileName在不同浏览器下情况不同:IE8下获得的是客户端上传文件的完全限定名(带路径),谷歌、苹果等浏览器下则仍为文件名(不带路径)。

  二:FileUpload控件有HasFile属性,用于判断用户是否选择了上传文件,而后面两种方法则需要通过判断上传文件大小ContentLength属性,当用户没有选择上传文件时,该属性值为0.

  可以看出FileUpload封装程度更高,但灵活性也稍差。

  例,Asp.net 文件上传类(取得文件后缀名,保存文件,加入文字水印)

  代码如下

  using System;

  using System.Data;

  using System.Configuration;

  using System.Web;

  using System.Web.Security;

  using System.Web.UI;

  using System.Web.UI.WebControls;

  using System.Web.UI.WebControls.WebParts;

  using System.Web.UI.HtmlControls;

  using System.Drawing;

  using System.IO;

  using System.Drawing.Imaging;

  namespace EC

  {

  ///

  /// 上传类

  ///

  public class UploadObj

  {

  public UploadObj()

  {

  //

  // TODO: 在此处添加构造函数逻辑

  //

  }

  ///

  /// 允许文件上传的类型枚举

  ///

  public enum FileType

  {

  jpg,gif,bmp,png

  }

  #region 取得文件后缀

  ///

  /// 取得文件后缀

  ///

  /// 文件名称

  ///

  public static string GetFileExtends(string filename)

  {

  string ext = null;

  if (filename.IndexOf('.') > 0)

  {

  string[] fs = filename.Split('.');

  ext = fs[fs.Length - 1];

  }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值