<input id="uploadify" name="uploadify" type="file" multiple>
</div>
<script>
$(function () {
$("#uploadify").fileinput({
language: "zh",
theme: "explorer",
uploadUrl: '/ProjBaseManage/BidBudget/UploadifyFile?folderId=' + $.getUrlParam('folderId') + '&ProjectManageID=' + $.getUrlParam('ProjectManageID'),
minFileCount: 1,
overwriteInitial: false,
hideThumbnailContent: true
}).on('fileuploaded', function (event, data, previewId, index) {
console.log(data);
});
})
</script>
[HttpPost]
public ActionResult UploadifyFile(string folderId, string ProjectManageID)
{
try
{
var Filedata = Request.Files;
Thread.Sleep(500);延迟500毫秒
//没有文件上传,直接返回
if (Filedata == null || Filedata.Count < 1 || string.IsNullOrEmpty(Filedata[0].FileName) || Filedata[0].ContentLength == 0)
{
return HttpNotFound();
}
//获取文件完整文件名(包含绝对路径)
//文件存放路径格式:/Resource/ResourceFile/{userId}{data}/{guid}.{后缀名}
string userId = OperatorProvider.Provider.Current().UserId;
string fileGuid = Guid.NewGuid().ToString();
long filesize = Filedata[0].ContentLength;
string FileEextension = Path.GetExtension(Filedata[0].FileName);
string uploadDate = DateTime.Now.ToString("yyyyMMdd");
string virtualPath = string.Format("~/Resource/BidBudget/{0}/{1}/{2}{3}", userId, uploadDate, fileGuid, FileEextension);
string fullFileName = this.Server.MapPath(virtualPath);
//创建文件夹
string path = Path.GetDirectoryName(fullFileName);
Directory.CreateDirectory(path);
if (!System.IO.File.Exists(fullFileName))
{
if (FileEextension.ToLower().IndexOf(".exe") > -1)
{
fullFileName = fullFileName.Remove(fullFileName.Length - 4) + ".ex_";
}
if (FileEextension.ToLower().IndexOf(".sys") > -1)
{
fullFileName = fullFileName.Remove(fullFileName.Length - 4) + ".sy_";
}
if (FileEextension.ToLower().IndexOf(".dll") > -1)
{
fullFileName = fullFileName.Remove(fullFileName.Length - 4) + ".dl_";
}
if (FileEextension.ToLower().IndexOf(".com") > -1)
{
fullFileName = fullFileName.Remove(fullFileName.Length - 4) + ".co_";
}
if (FileEextension.ToLower().IndexOf(".bat") > -1)
{
fullFileName = fullFileName.Remove(fullFileName.Length - 4) + ".ba_";
}
if (FileEextension.ToLower().IndexOf(".cmd") > -1)
{
fullFileName = fullFileName.Remove(fullFileName.Length - 4) + ".cm_";
}
if (FileEextension.ToLower().IndexOf(".bin") > -1)
{
fullFileName = fullFileName.Remove(fullFileName.Length - 4) + ".bi_";
}
if (FileEextension.ToLower().IndexOf(".js") > -1)
{
fullFileName = fullFileName.Remove(fullFileName.Length - 4) + ".j_";
}
//保存文件
Filedata[0].SaveAs(fullFileName);
//转换文件html
string htmlfiles = "pdf,doc,docx,ppt,pptx,xls,xlsx";
if (htmlfiles.IndexOf(FileEextension.Replace(".", "").ToLower()) > -1)
{
string tempfile = fullFileName.Replace("\\Resource\\BidBudget", "\\Resource\\TempFile");
//创建文件夹
string temppath = Path.GetDirectoryName(tempfile);
Directory.CreateDirectory(temppath);
AsposeToHtml aspose = new AsposeToHtml();
//excel--html
if (FileEextension.Equals(".xls") || FileEextension.Equals(".xlsx"))
{
aspose.ExcelToHtml(fullFileName, tempfile.Replace(".xlsx", ".html").Replace(".xls", ".html"));
}
//word--html
if (FileEextension.Equals(".doc") || FileEextension.Equals(".docx"))
{
aspose.WordToHtml(fullFileName, tempfile.Replace(".docx", ".html").Replace(".doc", ".html"));
}
//ppt--html
if (FileEextension.Equals(".ppt") || FileEextension.Equals(".pptx"))
{
aspose.PPTToHtml(fullFileName, tempfile.Replace(".pptx", ".html").Replace(".ppt", ".html"));
}
//pdf--html
if (FileEextension.Equals(".pdf"))
{
aspose.PdfToHtml(fullFileName, tempfile.Replace(".pdf", ".html"));
}
}
//文件信息写入数据库
BidBudgetFileInfoEntity fileInfoEntity = new BidBudgetFileInfoEntity();
fileInfoEntity.Create();
fileInfoEntity.FileId = fileGuid;
if (!string.IsNullOrEmpty(folderId))
{
fileInfoEntity.FolderId = folderId;
}
else
{
fileInfoEntity.FolderId = "0";
}
fileInfoEntity.ProjectManageID = ProjectManageID;
fileInfoEntity.FileName = Filedata[0].FileName;
fileInfoEntity.FilePath = virtualPath;
fileInfoEntity.FileSize = filesize.ToString();
fileInfoEntity.FileExtensions = FileEextension;
fileInfoEntity.FileType = FileEextension.Replace(".", "");
fileInfoBLL.SaveForm("", fileInfoEntity);
}
return Success("上传成功。");
}
catch (Exception ex)
{
return Content(ex.Message);
}
}