`
szy56szy
  • 浏览: 12518 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

自己写的一个文件上传的类iteye技术网站

 
阅读更多

自己写的一个文件上传的类iteye技术网站
2011年07月01日
   using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Drawing; using System.Web; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; using System.IO; using System.Runtime.Remoting.Messaging; namespace uploadfiles { ///  /// ClassUpload 的摘要说明。 ///  /* wenconfig中添加元素   */ /* Machine.config中添加元素   aspnet_wp.exe (PID: 1520) 被回收,因为内存消耗超过了 460 MB(可用 RAM 的百分之 60)。  如果遇到此错误信息,请增加应用程序的 Machine.config 文件的 元素中 memoryLimit 属性的值。 --> */ public class ClassUpload { public ClassUpload() { // // TODO: 在此处添加构造函数逻辑 // } private System.IO.MemoryStream m; private System.IO.Stream fs; private string _filename; //上传文件扩展名 private int _maxlength; //获取上传文件最大长度(字节) private string _FilePath; //获取本地上传文件路径 private int _length = 0; //保存文件长度(字节) private string _savepath; //获取保存路径 private string _savename; //重命名后的上传文件 private string _fullpath; //上传文件的完整目录 ///  /// 上传文件成功后文件的长度(字节) ///  public int length { get { return _length; } } ///  /// 获取保存路径 ///  public string savepath { get { return _savepath; } } ///  /// 获取重命名后的上传文件 ///  public string savename { get { return _savename; } } ///  /// 获取上传后文件的完整目录 ///  public string fullpath { get { return _fullpath; } } ///  /// 获取本地上传文件路径 ///  public string filepath { get { return _FilePath; } } ///  /// 上传文件方法 ///  /// System.Web.UI.HtmlControls.HtmlInputF ile /// 设置保存上传文件的路径 /// 设置上传文件的最大长度 public string upload(System.Web.UI.HtmlControls.HtmlInputFile MyFile,string savepath,int maxlength) { this._savepath = savepath; this._maxlength = maxlength; //得到上载文件信息和文件流 if(MyFile.PostedFile != null) { System.Web.HttpFileCollection oFiles; oFiles = System.Web.HttpContext.Current.Request.Files; if(oFiles.Count this._maxlength) { return "上传文件长度过大"; } else { try { //处理上载的文件流信息。 byte[] b = new byte[oFiles[0].ContentLength]; //System.IO.Stream fs; fs = (System.IO.Stream)oFiles[0].InputStream; fs.Read(b, 0, oFiles[0].ContentLength); //调用处理内存流方法UploadFile return this.UploadFile(b,this._filename,this._savepath); //int value = Convert.ToInt32(asy.AsyncState); } catch(Exception ex) { //Response.Write(ex.Message); return ex.Message; } finally { fs.Close(); } } } else { //Response.Write("请选择文件"); return "请选择文件"; } } private string UploadFile(byte[] fs,string FileName,string savepath) { try { //定义并实例化一个内存流,以存放提交上来的字节数组。 m = new MemoryStream(fs); this._length = fs.Length; //System.Web.HttpContext.Current.Server.MapPath(". ") + @"\\images\" //定义实际文件对象,保存上载的文件。 this._fullpath = this._savepath+ names()+FileName; FileStream f = new FileStream(this._fullpath, FileMode.Create); this._savename = names()+FileName; //把内内存里的数据写入物理文件 m.WriteTo(f); m.Close(); f.Close(); f = null; m = null; return "文件已经上传成功!"; } catch(Exception ex) { return ex.Message; } } //生成 (年,月,日,时,分,秒)+随机数的文件名 private string names() { Random rm = new Random(System.Environment.TickCount); return System.DateTime.Now.ToString("yyyyMMddhhmmss")+rm. Next(1000,9999).ToString(); } } } 
  
  
分享到:
评论

相关推荐

    jspsmartupload组件实现文件上传

    NULL 博文链接:https://systemxgl.iteye.com/blog/267472

    自己收集的多个Java FTP断点续传的例子源码

    ftp上传下载 java FTPClient - - ITeye技术网站 (2012年5月21日) FTP操作类:FTPClient - 石川 - 博客园 (2012年5月21日) JAVA中使用FTPClient上传下载 - hbcui1984的专栏 - 博客频道 - CSDN.NET (2012年5月21日) ...

    Fly.Box 企业网盘 v2.2.1

    1.2文件去重、更省空间在我们各种存储设备中,通常有很多内容一样的同一个文件被存储多份,分布在不同的文件夹、分区或存储设备中,占用了很多存储空间,而使得这些空间白白浪费掉。Fly.Box 文件管理软件在存储的...

    非对称加密传输文件相关技术理论浅析

    NULL 博文链接:https://13521308103.iteye.com/blog/1938608

    web技术实现图片上传到后台

    jsp+servlet+java实现图片上传到后台,内有sql文件和注释

    管家婆辉煌版 门店使用服务类

    我没有给他,我自己是搞网络的对数据库也不太了解,这两天上班没事,就研究这个问题,今天终于解决了。如果需要我协助的,使用说明中有我的联系方式,可以联系我,免费为您服务。 立即下载 1积分/C币时间:2012-12-...

    深入解析windows操作系统(第4版)卷1

    本书是著名的操作系统内核专家Mark Russinovich和David Solomon撰写的Windows操作系统原理的最新版著作,全面和深入地阐述了Windows...由于受到文件上传大小的限制,采取了分卷压缩,必须3卷下完才能解压,这是第1卷。

    erp完整源码-ssm+easyUI+mysql+maven+shiro

    添加了shiro session过期的登录跳转 - jQuery EasyUI开发前端页面,利用jQuery文件上传插件实现拖拽上传的效果并对文件类型、大小、数量进行控制;利用search-box实现查找功能 - [Druid(数据源配置 sql防注入 sql...

    erp源码-ssm+easyUI+mysql+maven+shiro

    添加了shiro session过期的登录跳转 - jQuery EasyUI开发前端页面,利用jQuery文件上传插件实现拖拽上传的效果并对文件类型、大小、数量进行控制;利用search-box实现查找功能 - [Druid(数据源配置 sql防注入 sql...

    qh-erp-ssm

    - jQuery EasyUI开发前端页面,利用jQuery文件上传插件实现拖拽上传的效果并对文件类型、大小、数量进行控制;利用search-box实现查找功能 - [Druid(数据源配置 sql防注入 sql性能监控)]...

    单点登录源码

    Spring+SpringMVC+Mybatis框架集成公共模块,包括公共配置、MybatisGenerator扩展插件、通用BaseService、工具类等。 > zheng-admin 基于bootstrap实现的响应式Material Design风格的通用后台管理系统,`zheng`...

    中文版RFC,共456

    RFC955 朝向一个处理过程应用的传输服务 RFC962 TCP-4 的最初 RFC968 “这是开动前的黑暗” RFC974 邮件路由与域名系统 RFC975 自治联邦 RFC976 UUCP 邮件互换格式标准 RFC985 Internet 网关要求 - 起草 RFC988 主机...

Global site tag (gtag.js) - Google Analytics