Exemplo n.º 1
0
 /// <summary>
 /// 根据文件中的物理路径或网络路径下载文件
 /// </summary>
 /// <param name="fileUrl">文件路径,可为网络资源,也可以为文件物理路径</param>
 /// <param name="fileName">文件名</param>
 public static void DownLoadFile(string fileUrl, string fileName)
 {
     using (var client = new WebClient())
     {
         // 将网络资源下载为二进制数据
         var bytes = client.DownloadData(fileUrl);
         using (var fsi = new FileStreamInfo())
         {
             // 将二进制数据写入文件流
             fsi.Write(bytes, 0, bytes.Length);
             fsi.FileName = fileName;
             DownLoadStream(fsi);
         }
     }
 }
Exemplo n.º 2
0
        /// <summary>
        ///根据文件路径获取文件流信息,包括文件名(支持网络路径)
        /// </summary>
        /// <param name="filepath">文件路径</param>
        /// <returns></returns>
        public static FileStreamInfo GetFileStreamInfo(string filepath)
        {
            var fsi = new FileStreamInfo();

            if (!filepath.Contains("http"))
            {
                using (var fs = new FileStream(filepath, FileMode.Open, FileAccess.Read))
                {
                    fs.Position = 0L;
                    fs.CopyTo(fsi);
                }
            }
            else
            {
                using (var client = new WebClient())
                {
                    var bytes = client.DownloadData(filepath);
                    fsi.Write(bytes, 0, bytes.Length);
                }
            }
            fsi.FileName = Path.GetFileName(filepath);
            return(fsi);
        }