处理文件时可能会用到的方法
- 需要限制上载文件的大小
使用ContentLength返回文件长度(以字节为单位)。
例:
上传的文件不能大于10MB
public ActionResult UploadAttachment(HttpPostedFileBase attachmentFile)
{
If(attachmentFile.ContentLength<=(10 * 1024 * 1024)){
.....
}else{.....}
}
2.检查文件目录
!Directory.Exists(Server.MapPath(“~/Document/Temp/”))
-Exists:确定给定路径是否引用磁盘上的现有目录
-Server:获取提供Web请求处理期间使用的方法符HttpServerUtilityBase.
-MapPath:在派生类重写时返回与Web服务器上的指定虚拟路径对应的物理文件路径
3.文件目录不存在创建目录:
Directory.CreateDirectory(Server.MapPath(“~/Document/Temp”))
CreateDirectory:在指定路径中创建所有,目录和子目录,除非他们已经存在。
4.获取不具有扩展名的文件名
string fileName = Path.GetFileNameWithoutExtension(attachmentFile.FileName);
GetFileNameWithoutExtension:返回不具有扩展名的指定路径字符串的文件名。
5.处理文件的类
(1)file类:处理文件
(2)Directory类:处理文件目录
6.FileStream类
System.IO命名空间中的FileStream类有助于文件的读写与关闭。该类派生自抽象类Stream.
7.、StreamWriter 类主要用于向流中写入数据,StreamReader 类主要用于向流中读出数据
8.判断上传的文件是否为word文档
//获取文件后缀
string fileExtension = Path.GetExtension(file.FileName);
if ("(.doc)|(.docx)".Contains(fileExtension))
{
#region 将word文档保存到指定位置
//判断指定路径是否存在
if (!Directory.Exists(Server.MapPath("~/Document/Title/Temp/")))
{
Directory.CreateDirectory(Server.MapPath("~/Document/Title/Temp/"));
}
//设置文件名
string fileName = DateTime.Now.ToString("yyyyMMddHHmmss") + file.FileName;
//文件的物理路径
//string filePath = Server.MapPath("~/Document/Title/Temp/")+fileName;
string filePath = Path.Combine(Server.MapPath("~/Document/Title/Temp/"), fileName);
file.SaveAs(filePath);
9.将html文档保存到指定位置
//html的文件名
string htmlName = fileName.Replace(fileExtension,".html");
//html文档的位置
string htmlPath = Path.Combine(Server.MapPath("~/Document/Title/Temp/"),htmlName);
Document document = new Document();
document.LoadFromFile(filePath);
document.SaveToFile(htmlPath, FileFormat.Html);
Spire.Doc for .NET是一款由E-iceblue公司开发的专业的Word .NET类库,
使用该工具开发人员可以在任意.NET平台(C#,VB.NET,ASP.NET)上快速创建,读取,写入,转换,打印Word文档。
作为一个独立的Word 组件,Spire.Doc的运行无需安装Microsoft Word。
而且,它可以将Microsoft Word文档创建功能集成到开发者的任何.NET应用程序
Spire.Doc.for .NET 是一个专业的word .NET库