七牛云文件上传
2017-08-30 23:42 HelenTime 阅读(1459) 评论(0) 编辑 收藏 举报七牛云:错误"{\"error\":\"incorrect region, please use up-z2.qiniu.com\"}"
解决方法:添加Qiniu.Common.Config.AutoZone(access_key, bucket, true);
方法1
UploadFile:
1 public string UploadFile(string keyValue) 2 { 3 string bucket = ConfigurationManager.AppSettings["bucket"].ToString(); 4 string access_key = ConfigurationManager.AppSettings["access_key"].ToString(); 5 string secret_key = ConfigurationManager.AppSettings["secret_key"].ToString(); 6 // 生成(上传)凭证时需要使用此Mac 7 // 这个示例单独使用了一个Settings类,其中包含AccessKey和SecretKey 8 // 实际应用中,请自行设置您的AccessKey和SecretKey 9 Mac mac = new Mac(access_key, secret_key); 10 string saveKey = "1.png"; 11 string localFile = "D:\\QFL\\1.png"; 12 // 上传策略,参见 13 // https://developer.qiniu.com/kodo/manual/put-policy 14 PutPolicy putPolicy = new PutPolicy(); 15 // 如果需要设置为"覆盖"上传(如果云端已有同名文件则覆盖),请使用 SCOPE = "BUCKET:KEY" 16 // putPolicy.Scope = bucket + ":" + saveKey; 17 putPolicy.Scope = bucket + ":" + saveKey; 18 // 上传策略有效期(对应于生成的凭证的有效期) 19 putPolicy.SetExpires(3600); 20 // 上传到云端多少天后自动删除该文件,如果不设置(即保持默认默认)则不删除 21 putPolicy.DeleteAfterDays = 1; 22 // 生成上传凭证,参见 23 // https://developer.qiniu.com/kodo/manual/upload-token 24 string jstr = putPolicy.ToJsonString(); 25 string token = Auth.CreateUploadToken(mac, jstr); 26 Qiniu.Common.Config.AutoZone(access_key, bucket, true); 27 UploadManager um = new UploadManager(); 28 HttpResult result = um.UploadFile(localFile, saveKey, token); 29 JObject jo = (JObject)JsonConvert.DeserializeObject(result.Text); 30 var hash = jo["hash"].ToString(); 31 var key = jo["key"].ToString(); 32 }
方法2
UploadFile:
public string UploadFile(string keyValue)
{
string bucket = ConfigurationManager.AppSettings["bucket"].ToString();
string access_key = ConfigurationManager.AppSettings["access_key"].ToString();
string secret_key = ConfigurationManager.AppSettings["secret_key"].ToString();
Mac mac = new Mac(access_key, secret_key);
PutPolicy putPolicy = new PutPolicy();
putPolicy.Scope = bucket + ":" + saveKey;
putPolicy.SetExpires(3600);
string jstr = putPolicy.ToJsonString();
string token = Auth.CreateUploadToken(mac, jstr);
Qiniu.Common.Config.AutoZone(access_key, bucket, true);
FormUploader fu = new FormUploader();
HttpResult result = fu.UploadStream(files[0].InputStream, saveKey, token);
JObject jo = (JObject)JsonConvert.DeserializeObject(result.Text);
var hash = jo["hash"].ToString();
var key = jo["key"].ToString();
32 }