Exemplo n.º 1
0
        public IActionResult Post()
        {
            var  files = Request.Form.Files;
            long size  = files.Sum(f => f.Length);

            //size > 100MB refuse upload !
            if (size > 104857600)
            {
                return(Json(Return_Helper_DG.Error_Msg_Ecode_Elevel_HttpCode("pictures total size > 100MB , server refused !")));
            }

            var filePathResultList = new List <FileUploadFiles>();

            foreach (var file in files)
            {
                var fileName     = ContentDispositionHeaderValue.Parse(file.ContentDisposition).FileName.ToString().Trim('"');
                var old_fileName = fileName;

                string filePath = hostingEnv.WebRootPath + $@"\Files\upload\";

                if (!Directory.Exists(filePath))
                {
                    Directory.CreateDirectory(filePath);
                }

                string suffix = fileName.ToString().Split(".")[1];

                //if (!pictureFormatArray.Contains(suffix))
                //{
                //    return Json(Return_Helper_DG.Error_Msg_Ecode_Elevel_HttpCode("the picture format not support ! you must upload files that suffix like 'png','jpg','jpeg','bmp','gif','ico'."));
                //}

                fileName = Guid.NewGuid() + "." + suffix;

                string fileFullName = filePath + fileName;

                using (FileStream fs = System.IO.File.Create(fileFullName))
                {
                    file.CopyTo(fs);
                    fs.Flush();
                }
                var ret = new FileUploadFiles()
                {
                    Id       = Application.EncryptionDes.Encrypt(fileFullName),
                    FileName = old_fileName,
                    Length   = file.Length,
                };
                filePathResultList.Add(ret);
            }

            string message = $"{files.Count} file(s) /{size} bytes uploaded successfully!";

            return(Json(Return_Helper_DG.Success_Msg_Data_DCount_HttpCode(message, filePathResultList, filePathResultList.Count)));
        }
Exemplo n.º 2
0
        public IActionResult Show(string id)
        {
            string file = EncryptionDes.Decrypt(id);
            //file = file.Remove(0, 4);
            //string filePath = hostingEnv.WebRootPath + $@"\Files\upload\";
            //string fileFullName = filePath + file;
            FileInfo tmpFile = new FileInfo(file);

            if (!tmpFile.Exists)
            {
                var message = "文件不存在";
                return(Json(Return_Helper_DG.Error_Msg_Ecode_Elevel_HttpCode(message)));
            }

            //if (!("," + RoadFlow.Utility.Config.UploadFileType + ",").Contains("," + tmpFile.Extension.Replace(".", "") + ",", StringComparison.CurrentCultureIgnoreCase))
            //{
            //    Response.Write("该文件类型不允许查看!");
            //    return;
            //}
            var stream = System.IO.File.OpenRead(tmpFile.FullName);

            return(File(stream, "application/vnd.android.package-archive", Path.GetFileName(tmpFile.FullName)));
        }