/// <summary> /// 图片上传到七牛 /// </summary> /// <param name="filename"></param> /// <param name="data"></param> /// <returns></returns> private static ItemResult <string> UploadQiNiu(string filename, byte[] data) { ItemResult <string> res = new ItemResult <string>(); Mac mac = new Mac(ApplicationContext.AppSetting.QiNiu_AccessKey, ApplicationContext.AppSetting.QiNiu_SecretKey); // 设置上传策略,详见:https://developer.qiniu.com/kodo/manual/1206/put-policy PutPolicy putPolicy = new PutPolicy(); // 设置要上传的目标空间 putPolicy.Scope = ApplicationContext.AppSetting.QiNiu_Bucket; // 上传策略的过期时间(单位:秒) putPolicy.SetExpires(3600); // 文件上传完毕后,在多少天后自动被删除 putPolicy.DeleteAfterDays = 1; // 生成上传token string token = Auth.CreateUploadToken(mac, putPolicy.ToJsonString()); Qiniu.Storage.Config config = new Qiniu.Storage.Config(); // 设置上传区域 config.Zone = Zone.ZONE_CN_East; // 设置 http 或者 https 上传 config.UseHttps = true; config.UseCdnDomains = true; config.ChunkSize = ChunkUnit.U512K; // 表单上传 FormUploader target = new FormUploader(config); Qiniu.Http.HttpResult result = target.UploadData(data, filename, token, null); res.Data = JsonConvert.DeserializeObject <QiniuOss>(result.Text).key; res.Success = true; return(res); }
public ItemResult <string> ImageToQiNiu(string key, byte[] data) { ItemResult <string> res = new ItemResult <string>(); Mac mac = new Mac(AccessKey, SecretKey); // 上传文件名 // string key = "12312312312313123213"; // 本地文件路径 string filePath = "D:\\tools\\putty.exe"; // 设置上传策略,详见:https://developer.qiniu.com/kodo/manual/1206/put-policy PutPolicy putPolicy = new PutPolicy(); // 设置要上传的目标空间 putPolicy.Scope = Bucket; // 上传策略的过期时间(单位:秒) putPolicy.SetExpires(3600); // 文件上传完毕后,在多少天后自动被删除 putPolicy.DeleteAfterDays = 1; // 生成上传token string token = Auth.CreateUploadToken(mac, putPolicy.ToJsonString()); Qiniu.Storage.Config config = new Qiniu.Storage.Config(); // 设置上传区域 config.Zone = Zone.ZONE_CN_East; // 设置 http 或者 https 上传 config.UseHttps = true; config.UseCdnDomains = true; config.ChunkSize = ChunkUnit.U512K; // 表单上传 FormUploader target = new FormUploader(config); Qiniu.Http.HttpResult result = target.UploadData(data, key, token, null); res.Message = res.Message; return(res); }
public ItemResult <string> OSSImageDelete(string filename) { ItemResult <string> res = new ItemResult <string>(); Mac mac = new Mac(ApplicationContext.AppSetting.QiNiu_AccessKey, ApplicationContext.AppSetting.QiNiu_SecretKey); // 设置存储区域 Config config = new Config(); config.Zone = Zone.ZONE_CN_East; BucketManager bucketManager = new BucketManager(mac, config); Qiniu.Http.HttpResult deleteRet = bucketManager.Delete(ApplicationContext.AppSetting.QiNiu_Bucket, filename); if (deleteRet.Code != (int)Qiniu.Http.HttpCode.OK) { res.Message = deleteRet.ToString(); } else { res.Success = true; } return(res); }
private void UploadButton_Click(object sender, RoutedEventArgs e) { string uploadToken = this.UploadTokenTextBox.Text.Trim(); string filePath = this.UploadFileTextBox.Text.Trim(); string key = this.UploadKeyTextBox.Text; if (string.IsNullOrEmpty(uploadToken) || string.IsNullOrEmpty(filePath)) { return; } if (!this.EnableKeyCheckBox.IsChecked.Value) { key = null; } if (!File.Exists(filePath)) { return; } // 移动代码(UploadButton_Click-->CreateTokenButton_Click) @fengyh, 2016-08-17-11:29 //string mimeType = this.MimeTypeTextBox.Text.Trim(); bool checkCrc32 = false; checkCrc32 = this.CheckCrc32CheckBox.IsChecked.Value; // 移动代码(UploadButton_Click-->CreateTokenButton_Click) @fengyh, 2016-08-17-11:29 //if (mimeType.Length == 0) //{ // //mimeType = null; // mimeType = "application/octet-stream"; //} string extraParamKey1 = this.ExtraParamKeyTextBox1.Text.Trim(); string extraParamValue1 = this.ExtraParamValueTextBox1.Text.Trim(); string extraParamKey2 = this.ExtraParamKeyTextBox2.Text.Trim(); string extraParamValue2 = this.ExtraParamValueTextBox2.Text.Trim(); string extraParamKey3 = this.ExtraParamKeyTextBox3.Text.Trim(); string extraParamValue3 = this.ExtraParamValueTextBox3.Text.Trim(); string recordKey = null; //update status this.cancelUpload = false; this.UploadProgressBar.Visibility = Visibility.Visible; //start upload Task.Factory.StartNew(() => { string qetag = ETag.CalcHash(filePath); if (key == null) { recordKey = Base64.UrlSafeBase64Encode(qetag); } else { recordKey = Base64.UrlSafeBase64Encode(key + qetag); } Dictionary <string, string> extraParams = new Dictionary <string, string>(); if (!extraParams.ContainsKey(extraParamKey1)) { extraParams.Add(extraParamKey1, extraParamValue1); } if (!extraParams.ContainsKey(extraParamKey2)) { extraParams.Add(extraParamKey2, extraParamValue2); } if (!extraParams.ContainsKey(extraParamKey3)) { extraParams.Add(extraParamKey3, extraParamValue3); } System.IO.FileInfo fi = new FileInfo(filePath); Qiniu.Http.HttpResult result = new Qiniu.Http.HttpResult(); if (fi.Length > 4 * 1024 * 1024) { UploadProgressHandler upph = delegate(long u, long t) { Dispatcher.BeginInvoke((Action)(() => { this.UploadProgressBar.Value = (int)(100.0 * u / t); })); }; UploadController upc = new UploadController(UploadControl); ResumableUploader uploader = new ResumableUploader(); result = uploader.UploadFile(filePath, key, uploadToken, recordKey, 1, upph, upc, extraParams); } else { FormUploader fu = new FormUploader(); result = fu.UploadFile(filePath, key, uploadToken, extraParams); } Dispatcher.BeginInvoke((Action)(() => { this.TextBox_UploadResultText.Text = result.Text; this.TextBox_UploadResultString.Text = result.ToString(); })); }); }