コード例 #1
0
ファイル: XStorage.cs プロジェクト: FengYunWorkstation/xcore
 /// <summary>
 /// 上传文件
 /// </summary>
 /// <param name="FileName"></param>
 /// <param name="data"></param>
 /// <returns></returns>
 public static Boolean Upload(String FileName, byte[] data)
 {
     try
     {
         if (Local.Using)
         {
             var toFileName = IO.PathTool.Map(UploadPath, FileName);
             var toFilePath = System.IO.Path.GetDirectoryName(toFileName);
             var toFileExt  = System.IO.Path.GetExtension(toFileName);
             if (!Directory.Exists(toFilePath))
             {
                 Directory.CreateDirectory(toFilePath);
             }
             using (var fs = new System.IO.FileStream(toFileName, FileMode.CreateNew))
             {
                 fs.Write(data, 0, data.Length);
                 return(true);
             }
         }
         else if (Upyun.Using)
         {
             return(Upyun.WriteFile(UploadPath + FileName, data));
         }
     }
     catch (Exception ex)
     {
         log.Error(ex.Message);
     }
     return(false);
 }
コード例 #2
0
ファイル: XStorage.cs プロジェクト: FengYunWorkstation/xcore
 /// <summary>
 /// 读取文件
 /// </summary>
 /// <param name="FileName"></param>
 /// <returns></returns>
 public static Byte[] Read(String FileName)
 {
     byte[] buffur = null;
     if (file.Exists(FileName))
     {
         var fs = new FileStream(FileName.StartsWith(UploadPath) ? FileName : UploadPath + FileName, FileMode.Open, FileAccess.Read);
         try
         {
             buffur = new byte[fs.Length];
             fs.Read(buffur, 0, (int)fs.Length);
         }
         finally
         {
             if (fs != null)
             {
                 //关闭资源
                 fs.Dispose();
             }
         }
     }
     if (buffur == null && Upyun.Using)
     {
         buffur = cvt.ToBytes(Upyun.ReadFile(FileName));
     }
     return(buffur);
 }
コード例 #3
0
ファイル: XStorage.cs プロジェクト: FengYunWorkstation/xcore
 /// <summary>
 /// 保存在线文件
 /// </summary>
 /// <param name="FileName"></param>
 /// <param name="url"></param>
 /// <returns></returns>
 public static Boolean SaveUrl(String FileName, String url)
 {
     using (var client = new System.Net.Http.HttpClient())
     {
         try
         {
             byte[] data   = null;
             var    reqest = new System.Net.Http.HttpRequestMessage(System.Net.Http.HttpMethod.Get, url);
             reqest.Headers.Date = DateTime.UtcNow;
             client.SendAsync(reqest).ContinueWith((requestTask) =>
             {
                 requestTask.Result.Content.ReadAsByteArrayAsync().ContinueWith((readTask) =>
                 {
                     data = readTask.Result;
                 }).Wait();
             }).Wait();
             if (data != null)
             {
                 if (Upyun.Using)
                 {
                     return(Upyun.WriteFile(UploadPath + FileName, data));
                 }
                 else
                 {
                     string toFileName = IO.PathTool.Map(UploadPath, FileName);
                     string toFilePath = System.IO.Path.GetDirectoryName(toFileName);
                     string toFileExt  = System.IO.Path.GetExtension(toFileName);
                     if (!Directory.Exists(toFilePath))
                     {
                         Directory.CreateDirectory(toFilePath);
                     }
                     else if (file.Exists(toFileName))
                     {
                         file.Delete(toFileName);
                     }
                     using (var fs = new System.IO.FileStream(toFileName, FileMode.CreateNew))
                     {
                         fs.Write(data, 0, data.Length);
                         return(true);
                     }
                 }
             }
         }
         catch (Exception ex)
         {
             log.Error(ex.Message);
         }
     }
     return(false);
 }