Esempio n. 1
0
 /// <summary>
 /// 下载
 /// </summary>
 /// <param name="resourceUri">下载地址:/api/downLoadPPT?pptId=3</param>
 /// <param name="extension">文件后缀</param>
 /// <param name="downloadPath"></param>
 /// <returns></returns>
 public static bool DownloadFile(string resourceUri, string extension, out string downloadPath)
 {
     downloadPath = string.Empty;
     if (string.IsNullOrWhiteSpace(resourceUri))
     {
         return(false);
     }
     try
     {
         WebRequest  request  = WebRequest.Create(resourceUri);
         WebResponse response = request.GetResponse();
         using (Stream reader = response.GetResponseStream())
         {
             var userDownloadFolder = UtilsCommonPath.GetDownloadFolder();
             downloadPath = Path.Combine(userDownloadFolder, $"{Guid.NewGuid()}{extension}");        //图片路径命名
             using (FileStream writer = new FileStream(downloadPath, FileMode.OpenOrCreate, FileAccess.Write))
             {
                 byte[] buff = new byte[512];
                 int    c    = 0;                                     //实际读取的字节数
                 while ((c = reader.Read(buff, 0, buff.Length)) > 0)
                 {
                     writer.Write(buff, 0, c);
                 }
                 response.Close();
             }
         }
     }
     catch (Exception ex)
     {
         return(false);
     }
     //下载成功
     return(true);
 }
Esempio n. 2
0
 /// <summary>
 /// 下载
 /// Headers中含有"Content-Disposition"
 /// </summary>
 /// <param name="resourceUri">下载地址:/api/downLoadPPT?pptId=3</param>
 /// <param name="downloadPath"></param>
 /// <returns></returns>
 public static bool DownloadWithDisposition(string resourceUri, out string downloadPath)
 {
     downloadPath = string.Empty;
     if (string.IsNullOrWhiteSpace(resourceUri))
     {
         return(false);
     }
     try
     {
         var userDownloadFolder = UtilsCommonPath.GetDownloadFolder();
         var downloadResult     = DownloadWithDisposition(resourceUri, userDownloadFolder, out downloadPath);
         if (downloadResult)
         {
             //下载成功
             return(true);
         }
     }
     catch (Exception ex)
     {
         LogHelper.LogError($"资源{resourceUri}下载失败", ex);
     }
     return(false);
 }