首页 技术 正文
技术 2022年11月21日
0 收藏 438 点赞 4,179 浏览 1814 个字

HttpPostedFile注意事项:

(1)    HttpPostedFile提供对客户端已上载的单独文件的访问。

(2)    对于客户端已上载的文件,最好先保存到服务器,再访问;而不是直接访问。

(3)     HttpPostedFile file = Request.Files[0]; 变量file只是对文件的引用,对file的任何操作都直接影响到已经上载的文件。

(4)  使用StreamReader 读取文件后,要调用Close方法关闭文件流,否则SaveAs相同文件名时,提示文件被占用。

下面通过两种方式访问已经上载的文件。

一、先保存到服务器,再访问。

1,新建一个test.aspx页面,前台代码如下:

<form runat="server"  method="post" enctype="multipart/form-data"><asp:FileUpload ID="FileUpload1" runat="server" /><asp:Button ID="btnAdd" runat="server" Text="上传" /></form>

效果图如下:

HttpPostedFile类的使用方法

2,后台代码如下:

 protected void Page_Load(object sender, EventArgs e)        {            //(0) 判断文件是否存在            if (Request.Files.Count < )            {                return;            }            SaveToRead();        }        // 1,先保存,再读取文件        public void SaveToRead()        {            // (1)获取上传的文件,保存到 应用程序基目录            HttpPostedFile file = Request.Files[];            string sFileName = System.AppDomain.CurrentDomain.BaseDirectory + "上传文件.txt";            file.SaveAs(sFileName);            // (2)从服务器上读取文件            StreamReader reader = new StreamReader(sFileName, Encoding.GetEncoding("GB2312"));            string temp = reader.ReadLine();            Response.Write(temp);            // (3)关闭文件流            reader.Close();            // (4)其他函数需要读取时,从新加载文件            reader = new StreamReader(sFileName, Encoding.GetEncoding("GB2312"));            temp = reader.ReadLine();            Response.Write(temp);        }

3,运行效果图如下:

HttpPostedFile类的使用方法

二、              直接访问客户端上载的文件

1,  前台代码不变,后台添加如下代码:

  protected void Page_Load(object sender, EventArgs e)        {            //(0) 判断文件是否存在            if (Request.Files.Count < )            {                return;            }            SaveToRead();            ReadFile();        }        //2,直接读取上传的文件        public void ReadFile()        {            //(1)将上传的文件同时赋值给file1和file2            HttpPostedFile file1 = Request.Files[];            HttpPostedFile file2 = Request.Files[];            //(2)判断文件为空的方法            if (file1 == null || file1.ContentLength ==  || string.IsNullOrEmpty(file1.FileName))            {                //文件为空,写入日志                  Response.Write("文件为空");                return;            }            //(3)获取文件流的方法            Stream stream = file1.InputStream;            StreamReader reader = new StreamReader(stream, Encoding.GetEncoding("GB2312"));            //(4) 读取文件内容的方法            string temp = reader.ReadLine();            //(5) 关闭文件流            reader.Close();            //(6) 查看file1和file2的长度均为0            Response.Write("file1的长度:" + file1.ContentLength + "; file2的长度:" + file2.ContentLength);        }

2,  运行效果如下:

HttpPostedFile类的使用方法

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,991
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,505
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,349
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,134
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,766
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,844