[上传下载] C#FileUp文件上传类 (转载)
点击下载 FileUp.zip
主要功能如下
1.把上传的文件转换为字节数组 2.流转化为字节数组 2.上传文件根据FileUpload控件上传 3.把Byte流上传到指定目录并保存为文件
看下面代码吧
/// <summary> /// 编 码 人:苏飞 /// 联系方式:361983679 /// 更新网站:[url=http://www.sufeinet.com/thread-655-1-1.html]http://www.sufeinet.com/thread-655-1-1.html[/url] /// </summary> using System; using System.IO; using System.Web; using System.Web.UI.WebControls;namespace DotNet.Utilities {/// <summary>/// 文件上传类/// </summary>public class FileUp{public FileUp(){ }/// <summary>/// 转换为字节数组/// </summary>/// <param name="filename">文件名</param>/// <returns>字节数组</returns>public byte[] GetBinaryFile(string filename){if (File.Exists(filename)){FileStream Fsm = null;try{Fsm = File.OpenRead(filename);return this.ConvertStreamToByteBuffer(Fsm);}catch{return new byte[0];}finally{Fsm.Close();}}else{return new byte[0];}}/// <summary>/// 流转化为字节数组/// </summary>/// <param name="theStream">流</param>/// <returns>字节数组</returns>public byte[] ConvertStreamToByteBuffer(System.IO.Stream theStream){int bi;MemoryStream tempStream = new System.IO.MemoryStream();try{while ((bi = theStream.ReadByte()) != -1){tempStream.WriteByte(((byte)bi));}return tempStream.ToArray();}catch{return new byte[0];}finally{tempStream.Close();}}/// <summary>/// 上传文件/// </summary>/// <param name="PosPhotoUpload">控件</param>/// <param name="saveFileName">保存的文件名</param>/// <param name="imagePath">保存的文件路径</param>public string FileSc(FileUpload PosPhotoUpload, string saveFileName, string imagePath){string state = "";if (PosPhotoUpload.HasFile){if (PosPhotoUpload.PostedFile.ContentLength / 1024 < 10240){string MimeType = PosPhotoUpload.PostedFile.ContentType;if (String.Equals(MimeType, "image/gif") || String.Equals(MimeType, "image/pjpeg")){string extFileString = System.IO.Path.GetExtension(PosPhotoUpload.PostedFile.FileName);PosPhotoUpload.PostedFile.SaveAs(HttpContext.Current.Server.MapPath(imagePath));}else{state = "上传文件类型不正确";}}else{state = "上传文件不能大于10M";}}else{state = "没有上传文件";}return state;}/// <summary>/// 上传文件/// </summary>/// <param name="binData">字节数组</param>/// <param name="fileName">文件名</param>/// <param name="fileType">文件类型</param>//-------------------调用----------------------//byte[] by = GetBinaryFile("E:\\Hello.txt");//this.SaveFile(by,"Hello",".txt");//---------------------------------------------public void SaveFile(byte[] binData, string fileName, string fileType){FileStream fileStream = null;MemoryStream m = new MemoryStream(binData);try{string savePath = HttpContext.Current.Server.MapPath("~/File/");if (!Directory.Exists(savePath)){Directory.CreateDirectory(savePath);}string File = savePath + fileName + fileType;fileStream = new FileStream(File, FileMode.Create);m.WriteTo(fileStream);}finally{m.Close();fileStream.Close();}}} }
转载于:https://www.cnblogs.com/lizeyan/p/3635417.html
[上传下载] C#FileUp文件上传类 (转载)相关推荐
- .NET技术 ASP.NET中常用的文件上传下载方法(多文件上传)
文件的上传下载是我们在实际项目开发过程中经常需要用到的技术,这里给出几种常见的方法,本文主要内容包括: 1.如何解决文件上传大小的限制 2.以文件形式保存到服务器 3.转换成二进制字节流保存到数据库以 ...
- java图片上传下载_java web 文件上传与下载
组件工作流程:WEB服务器request ServletFil eupLoad DiskFileItem Factory代表普通字段的FileItem代表上传文件1FileItem代表上传文件2Fil ...
- php实现附件上传下载,PHP实现文件上传与下载
文件上传原理: 将客户端的文件上传到服务器端,再将服务器端的临时文件移动到指定目录即可. 客户端配置: 1.表单页面 2.表单的发送方式为post 3.添加enctype="multipar ...
- 使用Vue+go实现前后端文件的上传下载,csv文件上传下载可直接照搬
直接上代码,就是固定用法,只需改动接口等一些信息就可以.这里顺带也把token带过去了, vue前端 //页面代码,使用的是vue ant,每个框架都可以实现,详情请看自己使用框架的wiki<a ...
- java图片上传下载_Java中文件上传下载 --使用Minio
Minio模板类: @RequiredArgsConstructor public class MinioTemplate implements InitializingBean { private ...
- 文件上传linux服务器,Linux 文件上传Linux服务器
进入命令行 在图形化桌面出现之前,与Unix系统进行交互的唯一方式就是借助由shell所提供的文本命令行界面(command line interface,CLI).CLI只能接受文本输入,也只能显示 ...
- java微信上传本地视频教程_java微信开发之上传下载多媒体文件,java上传下载_PHP教程...
java微信开发之上传下载多媒体文件,java上传下载 回复图片.音频.视频消息都是需要media_id的,这个是需要将多媒体文件上传到微信服务器才有的. 将多媒体文件上传到微信服务器,以及从微信服务 ...
- SSM框架使用Layui文件上传插件实现多文件上传(多文件列表)
SSM框架使用Layui文件上传插件实现多文件上传(多文件列表) pom.xml文件的配置 想要实现SSM框架实现多文件上传,必要的jar包必须要在pom.xml文件中引入.如下: <!--co ...
- 【文件上传漏洞-01】文件上传漏洞概述、防御以及WebShell基础知识补充
目录 1 文件上传漏洞概述 2 文件上传漏洞防御.绕过.利用 2.1 黑白名单策略 3 WebShell基础知识补充 3.1 WebShell概述 3.2 大马与小马 1 文件上传漏洞概述 概述:文件 ...
最新文章
- NOIP普及组第1题(1995-2018)
- 特定场景下SQL的优化
- 线性表应用之线性表算法设计六大经典案例
- java员工请假系统_基于jsp的员工请假管理系统-JavaEE实现员工请假管理系统 - java项目源码...
- ARM中C和汇编混合编程及示例
- mysql连接池源码_一个JAVA数据库连接池实现源码
- Android 创建自己的Camera App
- mysql ERROR 1396 (HY000): Operation CREATE USER failed 解决办法
- HCS12XEP100 ADC与SCI2的冲突解决 (2011-4-15)
- 9种常用的数据分析方法
- C#中使用ribbon界面
- Amigo---Android hotfix terminator
- 云服务器外网访问MySql全程实录
- uniapp日历组件
- 《经济学通识》:人类会受到“东西不够、生命有限、相互依赖、需要协调”四方面的限制,影响我们的衣食住行
- 在Shopee做高客单价产品 需要具备哪些思路?
- 总结python中的乱码问题
- c语言调用dll实例 结构体传参,Matlab调用Dll,对于自定义结构体数组如何传参? - 程序语言 - 小木虫 - 学术 科研 互动社区...
- 阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
- 淘宝逛逛,一个0成本适合新手的副业项目