MVC-JS上传文件

<div class="file-loading">
    <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);
            }
        }

猜你喜欢

转载自blog.csdn.net/qq_40305341/article/details/80536771