コード例 #1
0
        private UploadFilesResult UploadResult(string name, long size, string path)
        {
            string fileType = MimeMapping.GetMimeMapping(name);
            var    result   = new UploadFilesResult()
            {
                name = name,
                size = size,
                type = fileType,
                path = path,
                //Url = urlBase + name,
                thumbnailUrl = GetThumbUrl(fileType, name),
            };

            return(result);
        }
コード例 #2
0
        /// <summary>
        /// 整个文件上传并保存
        /// </summary>
        /// <param name="requestContext"></param>
        /// <param name="statuses"></param>
        private UploadFilesResult UploadWholeFile(HttpPostedFileBase file)
        {
            var    result   = new UploadFilesResult();
            string fileName = file.FileName.Length > 14 ? file.FileName.Substring(file.FileName.Length - 14) : file.FileName;
            string fullPath = GetStorageFullName(fileName);

            file.SaveAs(fullPath);
            //Create thumb
            if (imgExtansions.Contains(Utility.GetFileSuffix(fileName).ToLower()))
            {
                var thumbFile = GetStorageFullName(fileName, true);
                using (Image tempimg = Image.FromFile(fullPath))
                {
                    Bitmap originalImage = new Bitmap(tempimg, ThumbWidth, ThumbHeight);
                    originalImage.Save(thumbFile);
                }
            }
            result = UploadResult(fileName, file.ContentLength, fullPath);

            return(result);
        }
コード例 #3
0
        /// <summary>
        /// 单点续传
        /// </summary>
        /// <param name="fileName"></param>
        /// <param name="requestContext"></param>
        /// <returns></returns>
        private UploadFilesResult UploadPartialFile(string fileName, HttpContextBase requestContext)
        {
            var result  = new UploadFilesResult();
            var request = requestContext.Request;

            if (request.Files.Count != 1)
            {
                throw new HttpRequestValidationException("试图上传分块包含每个请求的多个片段文件");
            }

            var file          = request.Files[0];
            var inputStream   = file.InputStream;
            var fullName      = GetStorageFullName(fileName);
            var thumbfullName = GetStorageFullName(fileName, true);

            ImageHelper imgHelper = new ImageHelper();

            var imageBit = ImageHelper.LoadImage(fullName);

            imgHelper.Save(imageBit, ThumbWidth, ThumbHeight, 10, thumbfullName);

            using (var fs = new FileStream(fullName, FileMode.Append, FileAccess.Write))
            {
                var buffer = new byte[1024];

                var l = inputStream.Read(buffer, 0, 1024);
                while (l > 0)
                {
                    fs.Write(buffer, 0, l);
                    l = inputStream.Read(buffer, 0, 1024);
                }
                fs.Flush();
                fs.Close();
            }

            result = UploadResult(file.FileName, file.ContentLength, file.FileName);
            return(result);
        }