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();
}
}
}
} 了解C#文件上传类,文件流,字节数组等知识
来源:这里教程网
时间:2026-02-21 13:42:17
作者:
编辑推荐:
- 了解C#文件上传类,文件流,字节数组等知识02-21
- 详细介绍c#读取XML多级子节点02-21
- 详解C# .NET更智能的数据库操作的封装02-21
- 详解.NET 同步与异步 之 Mutex02-21
- 详解C# 控制台倒计时02-21
- C#中进程的挂起与恢复的代码实例分析(图)02-21
- .NET中抽象类实现多态02-21
- 详细介绍C#常用协议实现模版及FixedSizeReceiveFilter的示例代码02-21
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- C#中进程的挂起与恢复的代码实例分析(图)
C#中进程的挂起与恢复的代码实例分析(图)
26-02-21 - 详细介绍C#常用协议实现模版及FixedSizeReceiveFilter的示例代码
- 使用C#如何在PDF文件添加图片印章的详细介绍
使用C#如何在PDF文件添加图片印章的详细介绍
26-02-21 - 使用C#给PDF文档添加注释的示例代码分享(图)
使用C#给PDF文档添加注释的示例代码分享(图)
26-02-21 - 在C#里面给PPT文档实现添加注释的代码分享
在C#里面给PPT文档实现添加注释的代码分享
26-02-21 - C#遍历文件夹子目录下所有图片及遍历文件夹下的文件代码分享
C#遍历文件夹子目录下所有图片及遍历文件夹下的文件代码分享
26-02-21 - 详细介绍winformC#获得Mac地址,IP地址,子网掩码,默认网关的代码实例(图)
- 实现C#遍历文件夹及子目录下所有图片的示例代码分享
实现C#遍历文件夹及子目录下所有图片的示例代码分享
26-02-21 - 简单介绍C#中数组、ArrayList、List、Dictionary的用法与区别
- 使用C#生成带logo的二维码的示例代码分享
使用C#生成带logo的二维码的示例代码分享
26-02-21
