/// <summary> /// 上传文件 /// </summary> /// <param name="accessKey"></param> /// <param name="secretKey"></param> /// <param name="bucket"></param> /// <param name="file"></param> /// <param name="name">文件名</param> /// <returns></returns> public async Task <PutRet> UploadFile(string accessKey, string secretKey, string bucket, StorageFile file, string name = null) { Mac mac = new Mac(accessKey, Config.Encoding.GetBytes(secretKey)); PutPolicy putPolicy = new PutPolicy(); putPolicy.Scope = bucket; putPolicy.SetExpires(3600); string uploadToken = mac.CreateUploadToken(putPolicy); Stream stream = await file.OpenStreamForReadAsync(); var ret = await new IOClient().Put(uploadToken, name, stream, new PutExtra()); stream.Dispose(); return(ret); }