C#大文件上传源代码?web

2024-12-17 15:55:32
推荐回答(3个)
回答1:

//上传附件
public void UpLoadTheFile()
{
try
{
HttpPostedFile hpf = UpLoadFile.PostedFile;
string path = Server.MapPath("~/");
//判断是不是当月的第一天
string firstDay = DateTime.Now.Day.ToString();
string intMonth = DateTime.Now.Month.ToString();
string intYear = DateTime.Now.Year.ToString();
if (firstDay == "1") //如果为当月第一天,创建文件夹
{
System.IO.Directory.CreateDirectory(path + "ExcelDataReportUpFile/" + intYear + intMonth + firstDay);
}
else//否则,检测是否存在当月的文件夹,不存在则创建当月的,防止第一次上传文件时,没有文件夹报错.
{
if (!System.IO.Directory.Exists(path + "ExcelDataReportUpFile/" + intYear + intMonth + "1"))
System.IO.Directory.CreateDirectory(path + "ExcelDataReportUpFile/" + intYear + intMonth + "1");
}
string filename = hpf.FileName; //获得上传文件全路径
int place = filename.LastIndexOf(".") + 1; //获得文件扩展名的位置
string extname = filename.Substring(place); //获得上传文件的扩展名

string fileguid = System.Guid.NewGuid().ToString();//生成唯一标识
//生成文件名$后为文件夹名,以方便下载查找
string fullname = fileguid + "$" +intYear + intMonth + "1"+ "." + extname;//重新生成文件名 $为识别符号
string nowPath = intYear + intMonth + "1";

string imgpath = path + "ExcelDataReportUpFile/" + nowPath + "/" + fullname;//上传文件的存放路径

hpf.SaveAs(imgpath); //文件上传
//获取上传文件的信息,以存入数据库
addFile.CREA_DATE = DateTime.Now;
addFile.FILE_EXT = extname;
//附件说明为上传真实文件名
addFile.FILE_MEMO = filename.Substring(filename.LastIndexOf("\\") + 1);
//NAME为唯一文件名
addFile.FILE_NAME = fullname;

}
catch(Exception err)
{
ErrHandle(err);
}
}

回答2:

C#的UPLOADer控件只能支持到最大20MB, 默认状态为4MB. 直接用那个就行拉,>20MB的话必须用第三方插件了.

回答3:

源代码文件格式是什么?