.net上传文件问题
来源:互联网 发布:与大数据有关的项目 编辑:程序博客网 时间:2024/05/03 16:42
.net上传文件
前台:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default3.aspx.cs" Inherits="Default3" %><!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></title></head><body> <form id="form1" runat="server"> <div> <table> <tr> <td><input id="filUpload" type="file" runat="server" /></td> <td><asp:Button runat="server" Text="上传" ID="btnUpload" onclick="btnUpLoadFile" /></td> <td><asp:Label runat="server" ID="prompt"></asp:Label> </td> </tr> </table> </div> </form></body></html>
后台:
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using System.IO; //pathusing System.Data;using System.Data.SqlClient;using System.Configuration;using XIS.Model;using XIS.Brl;public partial class Default3 : System.Web.UI.Page{ protected void Page_Load(object sender, EventArgs e) { // AttachTitle.Value ="4" ; } protected void btnUpLoadFile(object sender, EventArgs e) { //通过input的file可以浏览计算机上的文件,从而读到文件的属性:大小、类型、数据 int strFileLen; //保存文件的大小 string strFullFileName; //文件的全称,包括目录 string strFileName; //文件的名字,不包括目录,也不包括扩展名 string strFileType; //保存文件的类型 Stream fileStream; //用于读取上传的数据 if (IsValid) //检查对象是否已经实例化,也就是确认有选择文件了 { if (filUpload.PostedFile.ContentLength == 0) return; else { strFullFileName = filUpload.PostedFile.FileName; //获得上传的文件全称,包括目录 strFileType = Path.GetExtension(strFullFileName); //获取上传的文件的类型 strFileName = Path.GetFileNameWithoutExtension(strFullFileName); //不包括扩展名的文件名称。 strFileLen = filUpload.PostedFile.ContentLength;//获取文件的大小 fileStream = filUpload.PostedFile.InputStream; //将即将上传的文件对象给fileStream byte[] filebuffer = new byte[strFileLen]; //准备一个和文件大小一样的缓存 fileStream.Read(filebuffer, 0, strFileLen); //将文件流转换成字节,为了存入数据库 if (strFileType == ".jpg" || strFileType == ".gif" || strFileType == ".JPG" || strFileType == ".png" || strFileType == ".GIF" || strFileType == ".PNG" || strFileType == ".bmp" || strFileType == ".BMP") { Table_2Br table2br = new Table_2Br(); Table_2 tab = new Table_2(); tab.fileName = strFileName; tab.fileContent = filebuffer; tab.fileType = strFileType; table2br.Add(tab); prompt.Text = "上传成功"; } else { prompt.Text = "请上传gif,jpg,png,bmp格式照片"; return; } } } }}现在可以实现基本的上传要求,我这里以图片为例。
不过当上传的文件大于3M时,程序压根就不会运行到Page_Load,这是由于根据asp.net处理流程...HttpModule=>HttpHandler,Request信息在HttpModule这一步就已经收集好了,所以上传文件超过maxRequestLength它就会抛出异常,根本不会走到HttpHandler也就是Page页面来。可以在Application_Error里来处理它,可以根据异常的类型来返回自己定义的提示信息。这里具体可以参考点击打开链接
接下来分析一个如何修改maxRequestLength,这里就不详细总结,可参考点击打开链接
- .net上传文件问题
- .net上传大文件问题
- asp.net 文件上传问题
- ASP.NET大文件上传的问题
- commons-net ftps 上传文件 参考问题
- ASP.NET文件上传大小问题
- vs.net 2002(.net 1.0)上传文件的问题
- ASP.net里大文件上传的问题
- ASP.net里大文件上传的问题讨论!
- 如何设置用ASP.NET上传大文件问题
- 解决Asp.net 上传文件过大限制问题
- [VB.NET]客户端文件上传至服务器的问题
- [ZT] ASP.NET 关于大文件上传问题
- ASP.NET里的文件上传大小限制的问题
- .net附件文件上传大小限制的问题
- .net附件文件上传大小限制的问题
- ASP.NET上传文件的大小限制问题
- ASP.NET 关于设置上传文件导致的问题
- cocos2dx通过Jni调用Android的Java
- VS2010不能跳转到声明
- Powerpath and VxVM work together mechanism
- Qt发送HTTP请求
- 2013-07-23(周二)
- .net上传文件问题
- [转]一个“技术文化人”的片段感悟
- js替换字符串的所有
- JUnit
- Java 泛型 理论与实践
- beginThreadex创建多线程解读
- mail configuration
- servlet与JSP之间的传值
- 检测回文串