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); }
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)); } }
/// <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 ); }
/// <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); }