/// <summary> /// 下载文件 /// </summary> /// <param name="request"></param> /// <returns></returns> public DownloadResultDto Download(FileDownloadParam request) { new FileDownloadParamValidator().Validate(request).Check(HttpStatus.Err.Name); var ret = DownloadManager.Download(request.Url, request.SavePath); var res = ret.Code == (int)HttpCode.OK; return(new DownloadResultDto(res, ret.Text, ret)); }
/// <summary> /// 下载文件(根据已授权的地址) /// </summary> /// <param name="request"></param> /// <returns></returns> public DownloadResultDto Download(FileDownloadParam request) { return(ToolCommon.GetResponse(() => { new FileDownloadParamValidator().Validate(request).Check(HttpStatus.Err.Name); Uri uri = new Uri(request.Url); string host = $"{uri.Scheme}://{uri.Host}"; using (var file = File.Open(request.SavePath, FileMode.OpenOrCreate)) { using (Stream stream = new HttpClient(host).GetStream(request.Url.Replace(host, ""))) { int length = 4 * 1024; var buf = new byte[length]; do { length = stream.Read(buf, 0, length); file.Write(buf, 0, length); } while (length != 0); } } return new DownloadResultDto(true, "success"); }, (message, ex) => new DownloadResultDto(false, message, ex))); }
public DownloadResultDto Download(FileDownloadParam request) { throw new NotImplementedException(); }