/// <summary> /// 上传文件 /// </summary> /// <param name="stream"></param> /// <param name="key">文件地址</param> /// <param name="ext">扩展名</param> /// <exception cref="Exception"></exception> internal bool UploadFile(Stream stream, string key, string ext) { HttpWebRequest request = null; HttpWebResponse response = null; try { request = (HttpWebRequest)WebRequest.Create(Utils.GetUrl(UCloudConfig, key)); request.KeepAlive = false; Utils.SetHeaders(request, ext, UCloudConfig, key, "PUT"); Utils.CopyFile(request, stream); response = HttpWebResponseExt.GetResponseNoException(request); Stream body = response.GetResponseStream(); if (response.StatusCode != HttpStatusCode.OK) { string e = FormatString(body); LogService.Error(string.Format("{0} {1}", response.StatusDescription, e)); return(false); } } catch (System.Exception e) { LogService.Error(e.ToString()); return(false); } finally { if (request != null) { request.Abort(); } if (response != null) { response.Close(); } } return(true); }
/// <summary> /// 上传文件 /// </summary> /// <param name="stream"></param> /// <param name="key">文件地址</param> /// <param name="ext">扩展名</param> /// <exception cref="Exception"></exception> internal virtual bool UploadFile(Stream stream, string key, string ext) { HttpWebRequest request = null; HttpWebResponse response = null; try { request = (HttpWebRequest)WebRequest.Create(Utils.GetUrl(UCloudConfig, key)); request.KeepAlive = false; Utils.SetHeaders(request, ext, UCloudConfig, key, "PUT"); Utils.CopyFile(request, stream); response = HttpWebResponseExt.GetResponseNoException(request); Stream body = response.GetResponseStream(); if (response.StatusCode != HttpStatusCode.OK) { string e = FormatString(body); _logger.LogError($"{response.StatusDescription} {e}"); return(false); } } catch (Exception ex) { _logger.LogError(ex.ExtractAllStackTrace()); return(false); } finally { if (request != null) { request.Abort(); } if (response != null) { response.Close(); } } return(true); }