FileUp(文件上传类)
using System;
using System.IO;
using System.Web;
using System.Web.UI.WebControls;
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/mynameltg/p/4043465.html
FileUp(文件上传类)相关推荐
- [上传下载] C#FileUp文件上传类 (转载)
点击下载 FileUp.zip 主要功能如下 1.把上传的文件转换为字节数组 2.流转化为字节数组 2.上传文件根据FileUpload控件上传 3.把Byte流上传到指定目录并保存为文件 看下面代码 ...
- php 上传 类 代码,php 文件上传类代码
/** * 文件上传类 */ class uploadFile { public $max_size = '1000000';//设置上传文件大小 public $file_name = 'date' ...
- fileupload.class.php,php文件上传类
php文件上传类 FileUpload.class.php class FileUpload { private $filepath; //指定上传文件保存的路径 private $allow ...
- php 文件上传页面模板,PHP文件上传类实例详解
本文实例讲述了PHP文件上传类.分享给大家供大家参考,具体如下: 这里演示了FileUpload.class.php文件上传类,其中用到了两个常量,可在网站配置文件中定义: define('ROOT_ ...
- 实例讲解ThinkPHP的UploadFile文件上传类的详细用法
ThinkPHP文件上传自带了上传类,使用起来非常方便,我们将以一个文件上传实例来讲解ThinkPHP上传类的实际用法,上传类使用时有详细的中文注释,可以非常方便的告诉你类的一些方法或变量的使用方法. ...
- PHP文件上传类及其使用实例教程
这个例子主要介绍了一个比较通用的文件上传类.当我们实例化这个类的时候可以指定上传路径和允许上传的文件类型. 本例包含两个文件 upload.class.php test.php 上传类中的属性和方法列 ...
- PHP文件系统-文件上传类
一.文件上传类的说明(这是一个可以处理单个文件上传和多个文件上传的处理类) 1.构造函数初始化的作用是分配存储空间和传递需要设定的参数 2.一个类的资源是有所有的定义变量的,不管是共有.私有的变量 二 ...
- php 上传类 缩略图,php图片文件上传类 (附自动生成缩略图) | 学步园
/** 作 者:冻结回忆 (linghunts@163.com); 功 能:文件上传类 支持文件夹自动分组保存(2008-01/09); 时 间:2007-10-17; 创建类:参数(文件域,文件原名 ...
- ThinkPHP文件上传类的使用
上传类使用ORG类库包中的Net.UpdateFile类,最新版本的上传类包含的功能如下(有些功能需要结合ThinkPHP系统其他类库): 1.基本上传功能 2.支持批量上传 3.支持生成图片缩略图 ...
- php.ini maxfileuploads,细说PHP高洛峰文件上传类源文件
以下是兄弟连php视频教程中高洛峰老师所教授的文件上传类的源代码,尚没有完全理解精髓,在这里记录一下,供日后有需要时查看: $value){ $key=strtolower($key); if(!in ...
最新文章
- UIView 的 autoresizingMask 属性 详解。
- 图表+笔记-python语言-第5章:数字/5.11 位操作
- javascript扩展插件alook_使用 Kotlin 编写你的第一个 Firefox WebExtension 扩展
- Linux -- userdel
- 【深度学习】3D深度学习简介
- 程序员如何优雅地使用 Mac?
- CruiseControl中应用NCover和NCoverExplore
- 张高兴的 Windows 10 IoT 开发笔记:RTC 时钟模块 DS3231
- 重磅官宣!统一操作系统UOS正式版发布
- echarts实现2d柱状_记录echarts比较难实现的图1(一个背景上呈现三个柱状图)
- 热释电红外传感器电路
- 阿里大佬推荐初学者练习的 Java 开源项目
- 动图体积太大怎么缩小?教你一招快速压缩gif
- synchronized-锁总结
- gif一键抠图 在线_在线抠图网站,轻松搞定抠图,效果堪比PS!
- android 常见分辨率(mdpi、hdpi 、xhdpi、xxhdpi )及屏幕适配注意事项
- git commit时的几种指令
- java定时器每天执行一次_定时器-每天23:00执行一次
- Chapter_06 更改图像的对比度和亮度
- 使用mybatis的逆向工程易出现的错误
热门文章
- 区块链技术六大核心算法,读懂六大核心算法就变成区块链专家
- Dijkstra算法之matlab实现
- Html中form标签的使用
- DRP项目:知识,我们的成长记录
- 高效研发管理五点经验分享
- 5.12汶川地震,19楼逃生
- html2canvas的使用方法,html2Canvas使用总结
- Unity分辨率适配方案设置
- Ubuntu中cp: cannot create regular file ‘...‘: Permission denied的解决方案
- 【iOS 开发】进度条控件 UIProgressView