Example #1
0
        public HttpResponseMessage Download(int fileId)
        {
            HttpResponseMessage response = Request.CreateResponse();

            Models.Sys.FileInfo file = _file.Get(fileId);
            string fullname          = HttpContext.Current.Server.MapPath(file.FullName);

            if (System.IO.File.Exists(fullname))
            {
                response.StatusCode = HttpStatusCode.OK;

                System.IO.FileStream stream = new System.IO.FileStream(
                    fullname,
                    System.IO.FileMode.Open,
                    System.IO.FileAccess.Read,
                    System.IO.FileShare.Read
                    );

                response.Headers.AcceptRanges.Add("bytes");
                response.Content = new StreamContent(stream);
                response.Content.Headers.ContentDisposition          = new ContentDispositionHeaderValue("attachment");
                response.Content.Headers.ContentDisposition.FileName = file.FileName;
                response.Content.Headers.ContentType   = new MediaTypeHeaderValue("application/octet-stream");
                response.Content.Headers.ContentLength = stream.Length;
            }
            else
            {
                response.StatusCode = HttpStatusCode.NotFound;
            }

            return(response);
        }
Example #2
0
        public HttpResponseMessage GetDownloadResponse(Models.Sys.FileInfo fileinfo)
        {
            try
            {
                string filename         = fileinfo.FilePath + fileinfo.ExtName;
                var    FilePath         = System.Web.Hosting.HostingEnvironment.MapPath(filename);
                string ResponseFileName = "图片压缩包.zip";

                var stream = new FileStream(FilePath, FileMode.Open);
                HttpResponseMessage response = new HttpResponseMessage(HttpStatusCode.OK);

                response.Content = new StreamContent(stream);
                response.Content.Headers.ContentType        = new MediaTypeHeaderValue("application/octet-stream");
                response.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment")
                {
                    FileName     = ResponseFileName,
                    FileNameStar = ResponseFileName
                };

                return(response);
            }
            catch
            {
                return(new HttpResponseMessage(HttpStatusCode.NoContent));
            }
        }
Example #3
0
        /// <summary>
        /// 向文件夹里加文件
        /// </summary>
        /// cais    16.04.26
        /// <param name="fileinfo">文件信息</param>
        public void Add(Models.Sys.FileInfo fileinfo)
        {
            var Server = HttpContext.Current.Server;

            System.IO.File.Copy(
                Server.MapPath(fileinfo.FullName),
                Server.MapPath(zipfilepath + "\\" + fileinfo.NewName + fileinfo.ExtName),
                true
                );
        }
Example #4
0
        /// <summary>
        /// 压缩后的文件信息
        /// </summary>
        /// <returns></returns>
        public Models.Sys.FileInfo Comperssing()
        {
            string err;
            string zippath = zipfilepath + ".zip";

            Models.Sys.FileInfo comperssFile = new Models.Sys.FileInfo();

            if (ZipFile(HttpContext.Current.Server.MapPath(zipfilepath), out err) == true)
            {
                comperssFile.FilePath = zipfilepath;
                comperssFile.ExtName  = ".zip";
            }

            return(comperssFile);
        }