/// <summary> /// 根据文件流以及文件字节数组上传 /// </summary> /// <param name="param"></param> /// <returns></returns> public UploadResultDto UploadByToken(UploadByTokenParam param) { return(ToolCommon.GetResponse(() => { var zone = Core.Tools.GetZone(_aLiYunConfig, param.UploadPersistentOps.Zone, () => ZoneEnum.HangZhou); var client = _aLiYunConfig.GetClient(zone, param.Token); return Upload(param.IsResume, (bucket, newPersistentOps, objectMetadata) => { PutObjectResult ret; if (param.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 UploadResultDto UploadByToken(UploadByTokenParam param) { var uploadPersistentOps = GetUploadPersistentOps(param.UploadPersistentOps); FormUploader target = new FormUploader(GetConfig(uploadPersistentOps)); HttpResult result; if (param.Stream != null) { result = target.UploadStream(param.Stream, param.Key, param.Token, GetPutExtra(uploadPersistentOps)); bool res = result.Code == (int)HttpCode.OK; return(new UploadResultDto(res, res ? "成功" : result.ToString())); } if (param.ByteArray != null) { result = target.UploadData(param.ByteArray, param.Key, param.Token, GetPutExtra(uploadPersistentOps)); bool res = result.Code == (int)HttpCode.OK; return(new UploadResultDto(res, res ? "成功" : result.ToString())); } return(new UploadResultDto(false, "不支持的上传方式")); }
/// <summary> /// 根据文件流以及文件字节数组上传 /// </summary> /// <param name="param">文件流上传配置</param> /// <returns></returns> public UploadResultDto UploadByToken(UploadByTokenParam param) { throw new NotImplementedException(); }