/// <summary> /// 根据文件流上传 /// </summary> /// <param name="param"></param> /// <param name="isResume">是否允许续传</param> /// <returns></returns> public UploadResultDto UploadStream(UploadByStreamParam param, bool isResume = false) { return(ToolCommon.GetResponse(() => { var zone = Core.Tools.GetZone(_aLiYunConfig, param.UploadPersistentOps.Zone, () => ZoneEnum.HangZhou); var client = _aLiYunConfig.GetClient(zone); return Upload(isResume, (bucket, newPersistentOps, objectMetadata) => { PutObjectResult ret; if (isResume) { var request = new UploadObjectRequest(bucket, param.Key, param.Stream) { PartSize = Core.Tools.GetPartSize( Core.Tools.GetChunkUnit(_aLiYunConfig, newPersistentOps.ChunkUnit, () => ChunkUnit.U2048K)), Metadata = objectMetadata }; ret = client.ResumableUploadObject(request); } else { ret = client.PutObject(bucket, param.Key, param.Stream, objectMetadata); } return ret; }, param.UploadPersistentOps); }, (message, ex) => new UploadResultDto(false, ex, message))); }
/// <summary> /// 根据文件流上传 /// </summary> /// <param name="param"></param> /// <returns></returns> public bool UploadStream(UploadByStreamParam param) { SetPutPolicy(param.Key, param.UploadPersistentOps.IsAllowOverlap, param.UploadPersistentOps.PersistentOps); string token = Auth.CreateUploadToken(Mac, PutPolicy.ToJsonString()); FormUploader target = new FormUploader(GetConfig(param.UploadPersistentOps)); HttpResult result = target.UploadStream(param.Stream, param.Key, token, GetPutExtra(param.UploadPersistentOps)); return(result.Code == (int)HttpCode.OK); }
/// <summary> /// 根据文件流上传 /// </summary> /// <param name="param"></param> /// <returns></returns> public UploadResultDto UploadStream(UploadByStreamParam param) { var uploadPersistentOps = GetUploadPersistentOps(param.UploadPersistentOps); string token = GetUploadCredentials(QiNiuConfig, new UploadPersistentOpsParam(param.Key, uploadPersistentOps)); FormUploader target = new FormUploader(GetConfig(uploadPersistentOps)); HttpResult result = target.UploadStream(param.Stream, param.Key, token, GetPutExtra(uploadPersistentOps)); bool res = result.Code == (int)HttpCode.OK; return(new UploadResultDto(res, res ? "成功" : result.ToString())); }
/// <summary> /// 根据文件流上传 /// </summary> /// <param name="param"></param> /// <param name="isResume">是否允许续传</param> /// <returns></returns> public UploadResultDto UploadStream(UploadByStreamParam param, bool isResume = false) { var res = base.UploadFile(param.Stream, param.Key, Path.GetExtension(param.Key)); return(new UploadResultDto(res, "", res ? "上传成功" : "上传失败")); }
/// <summary> /// 根据文件流上传 /// </summary> /// <param name="param"></param> /// <returns></returns> public bool UploadStream(UploadByStreamParam param) { return(base.UploadFile(param.Stream, param.Key, Path.GetExtension(param.Key))); }