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