public void PutTest() { IOClient target = new IOClient(); string key = NewKey; PrintLn(key); PutExtra extra = new PutExtra(); // TODO: 初始化为适当的值 extra.MimeType = "text/plain"; extra.Crc32 = 123; extra.CheckCrc = CheckCrcType.CHECK; extra.Params = new System.Collections.Generic.Dictionary <string, string>(); PutPolicy put = new PutPolicy(Bucket); target.PutFinished += new EventHandler <PutRet>((o, e) => { if (e.OK) { RSHelper.RSDel(Bucket, key); } }); string token = put.Token(); PutRet ret = target.Put(put.Token(), key, StreamEx.ToStream("Hello, Qiniu Cloud!"), extra); Assert.IsTrue(ret.OK, "PutFileTest Failure"); }
public static async Task <List <string> > RSPut(string bucket, int num) #endif { IOClient target = new IOClient(); string key = "csharp" + Guid.NewGuid().ToString(); //PrintLn(key); PutExtra extra = new PutExtra(); // TODO: 初始化为适当的值 extra.MimeType = "text/plain"; PutPolicy put = new PutPolicy(bucket); List <string> newKeys = new List <string>(); for (int i = 0; i < num; i++) { key = "csharp" + Guid.NewGuid().ToString(); #if NET20 || NET40 PutRet ret = target.Put(put.Token(), key, StreamEx.ToStream("Hello, Qiniu Cloud!"), extra); #else PutRet ret = await target.PutAsync(put.Token(), key, StreamEx.ToStream("Hello, Qiniu Cloud!"), extra); #endif if (ret.OK) { newKeys.Add(key); } } return(newKeys); }
/// <summary> /// Amr文件转Mp3 /// </summary> /// <param name="fileName">文件名,aa.amr</param> /// <param name="stream">文件流</param> /// <param name="notifyUrl">七牛转码成功后用于接收通知的url</param> /// <returns>文件外链</returns> public static async Task <string> PutAmrToMp3Async(string fileName, Stream stream, string notifyUrl) { PutPolicy policy = new PutPolicy(_bucket, 3600); PutExtra extra = new PutExtra(); IOClient client = new IOClient(); //对转码后的文件进行使用saveas参数自定义命名,也可以不指定,文件会默认命名并保存在当前空间。 fileName = fileName.Split('.')[0] + ".mp3"; string urlbase64 = Base64URLSafe.Encode(_bucket + ":" + fileName); //一般指文件要上传到的目标存储空间(Bucket)。若为“Bucket”, //表示限定只能传到该Bucket(仅限于新增文件);若为”Bucket:Key”,表示限定特定的文件,可修改该文件。 policy.Scope = _bucket + ":" + fileName; // 可选。 若非0, 即使Scope为 Bucket:Key 的形式也是insert only. policy.InsertOnly = 0; // "|"竖线前是你要转换格式的命令;竖线后是转换完成后,文件的命名和存储的空间的名称! policy.PersistentOps = "avthumb/mp3/ab/128k/ar/44100/acodec/libmp3lame|saveas/" + urlbase64; //规定文件要在那个“工厂”进行改装,也就是队列名称! //policy.PersistentPipeline = "LittleBai"; //音视频转码持久化完成后,七牛的服务器会向用户发送处理结果通知。这里指定的url就是用于接收通知的接口。 //设置了`persistentOps`,则需要同时设置此字段 policy.PersistentNotifyUrl = "http://wwwtest.rupeng.cn:9090/upload/uploadFile"; string upToken = policy.Token(); var putRet = await client.PutAsync(upToken, fileName, stream, extra); return(putRet.StatusCode == HttpStatusCode.OK ? $"{Config.API_HOST}/{putRet.key}" : null); }
/// <summary> /// 上传七牛图片 /// </summary> /// <param name="imgkey">图片名称</param> /// <param name="imgPath">图片路径</param> public static void uploadQinui(string imgkey, string imgPath) { try { //设置账号的AK和SK Qiniu.Conf.Config.ACCESS_KEY = AK; Qiniu.Conf.Config.SECRET_KEY = SK; IOClient target = new IOClient(); PutExtra extra = new PutExtra(); //设置上传的空间 String bucket = NAME; //设置上传的文件的key值 String key = imgkey; //普通上传,只需要设置上传的空间名就可以了,第二个参数可以设定token过期时间 PutPolicy put = new PutPolicy(bucket, 3600); //调用Token()方法生成上传的Token string upToken = put.Token(); //调用PutFile()方法上传 PutRet ret = target.PutFile(upToken, key, imgPath, extra); if (!ret.OK) { Jnwf.Utils.Log.Logger.Log4Net.Error("error:uploadQinui:" + ret.OK + "|" + ret.Exception); } } catch (Exception ex) { Jnwf.Utils.Log.Logger.Log4Net.Error("error:uploadQinui:" + ex.Message + "|" + ex.InnerException); } }
/// <summary> /// 上传七牛图片 /// </summary> /// <param name="ak">AK</param> /// <param name="sk">SK</param> /// <param name="kname">上传的空间</param> /// <param name="imgkey">图片名称</param> /// <param name="imgPath">图片路径</param> public static void uploadQinui(string ak, string sk, string kname, string imgkey, string imgPath) { try { //设置账号的AK和SK Qiniu.Conf.Config.ACCESS_KEY = ak; Qiniu.Conf.Config.SECRET_KEY = sk; IOClient target = new IOClient(); PutExtra extra = new PutExtra(); //设置上传的空间 String bucket = kname; //设置上传的文件的key值 String key = imgkey; //普通上传,只需要设置上传的空间名就可以了,第二个参数可以设定token过期时间 PutPolicy put = new PutPolicy(bucket, 3600); //调用Token()方法生成上传的Token string upToken = put.Token(); //上传文件的路径 String filePath = imgPath; Jnwf.Utils.Log.Logger.Log4Net.Error("uploadQinui2:" + filePath + ""); //调用PutFile()方法上传 PutRet ret = target.PutFile(upToken, key, filePath, extra); Jnwf.Utils.Log.Logger.Log4Net.Error("uploadQinui1:" + ret + ""); } catch (Exception ex) { Jnwf.Utils.Log.Logger.Log4Net.Error("error:uploadQinui:" + ex.Message + "|" + ex.InnerException); } }
public void TestuploadFile() { //设置上传的空间 String bucket = "data-539go"; //设置上传的文件的key值 String key = "test.png"; //普通上传,只需要设置上传的空间名就可以了,第二个参数可以设定token过期时间 //PutPolicy put = new PutPolicy(bucket); PutPolicy put = new PutPolicy(bucket + ":" + key, 3600); //设置callbackUrl以及callbackBody,七牛将文件名和文件大小回调给业务服务器 // put.CallBackUrl = "http://your.domain.com/callback"; // put.CallBackBody = "filename=$(fname)&filesize=$(fsize)"; //调用Token()方法生成上传的Token string upToken = put.Token(); //上传文件的路径 String filePath = @"D:\Personal\Desktop\test.png"; PutRet ret = target.PutFile(upToken, key, filePath, extra); //打印出相应的信息 // Console.WriteLine(ret.Response.ToString()); // Console.WriteLine(ret.key); // Console.ReadLine(); MessageBox.Show(ret.key.ToString()); }
public void uploadFile(String name, String filePath) { String key = name; //todo 添加日期 //添加文件后缀 Regex regex = new Regex(@"\.(jpg|jpeg|bmp|png)"); String str = regex.Match(filePath).Value; if (str != "") { key = name + str; } else { MessageBox.Show("不支持的格式"); return; } //覆盖上传 PutPolicy put = new PutPolicy(bucket + ":" + key, 3600); //调用Token()方法生成上传的Token string upToken = put.Token(); PutRet ret = target.PutFile(upToken, key, filePath, extra); //todo 上传成功的反馈 //MessageBox.Show(ret.key.ToString()); }
public String uploadImg(ImgFileMsg item) { String key = item.name; //todo 添加日期 //添加文件后缀 //Regex regex = new Regex(@"\.(jpg|jpeg|bmp|png)"); Regex regex = Setting.getRegexForType(); String str = regex.Match(item.path).Value; if (str != "") { key = dateStr + item.name + str; } else { Console.WriteLine("不支持的文件格式"); return(null); } //覆盖上传 PutPolicy put = new PutPolicy(bucket + ":" + key, 3600); //调用Token()方法生成上传的Token string upToken = put.Token(); PutRet ret = target.PutFile(upToken, key, item.path, extra); //todo 上传成功的反馈 //MessageBox.Show(ret.key.ToString()); return(Setting.qiniuUrl + ret.key.ToString()); }
/// <summary> /// 上传文件,普通上传(Put) /// </summary> /// <param name="bucket_name">设置上传的空间</param> /// <param name="stream">上传文件流数据</param> /// <param name="ext"></param> /// <returns></returns> public static string Upload(string bucket_name, Stream stream, string ext) { IOClient iOClient = new IOClient(); PutExtra extra = new PutExtra(); PutPolicy putPolicy = new PutPolicy(bucket_name, 3600u); //设置上传的文件的key值 string key = Guid.NewGuid().ToString("N") + "." + ext; string upToken = putPolicy.Token(null); PutRet putRet = iOClient.Put(upToken, key, stream, extra); string result; if (putRet == null) { result = null; } else { if (putRet.OK) { result = key; } else { result = null; } } return(result); }
/// <summary> /// 上传图片 /// </summary> /// <param name="imgPhysicalPath"></param> /// <param name="imgkey">返回图片在七牛上的名称</param> /// <param name="isDelPhysicalPath">是否删除本地当前图片</param> /// <returns></returns> public bool UpLoadImage(string imgPhysicalPath, out string imgkey, bool isDelPhysicalPath = false) { imgkey = string.Empty; try { imgkey = GenerateQiniuKey; var policy = new PutPolicy(Bucket, 3600); string upToken = policy.Token(); PutExtra extra = new PutExtra(); extra.MimeType = "text/plain"; extra.Crc32 = 123; extra.CheckCrc = CheckCrcType.CHECK; extra.Params = new System.Collections.Generic.Dictionary <string, string>(); IOClient client = new IOClient(); client.PutFinished += new EventHandler <PutRet>((o, e) => { if (isDelPhysicalPath) { DeleteLocalImage(imgPhysicalPath); } }); PutRet ret = client.PutFile(upToken, imgkey, imgPhysicalPath, extra); imgkey = "/" + imgkey; return(ret.OK); } catch (Exception ex) { LogUtil.WriteLog(ex); return(false); } }
/// <summary> /// 上传图片 /// </summary> /// <param name="imgkey">七牛显示名称(保持唯一性)</param> /// <param name="imgPhysicalPath"></param> /// <returns></returns> public bool UpLoadImage(string imgkey, string imgPhysicalPath) { try { var policy = new PutPolicy(Bucket, 3600); string upToken = policy.Token(); PutExtra extra = new PutExtra(); extra.MimeType = "text/plain"; extra.Crc32 = 123; extra.CheckCrc = CheckCrcType.CHECK; extra.Params = new System.Collections.Generic.Dictionary <string, string>(); IOClient client = new IOClient(); PutRet ret = client.PutFile(upToken, imgkey, imgPhysicalPath, extra); //client.PutFinished += new EventHandler<PutRet>((o,e)=>{ //}); return(ret.OK); } catch (Exception ex) { LogUtil.WriteLog(ex); return(false); } }
/// <summary> /// 七牛URL上传 /// </summary> /// <param name="filePath">图片绝对路径</param> /// <param name="fileKey">上传文件文件名(由于七牛不支持文件夹,可以在文件做手脚:比如:/aaa/xxx.jpg 这个一个合法文件名</param> /// <returns></returns> public static ApiModel <string> UploadStream(Stream stream, string fileKey /*设置上传的文件的key值*/) { //TODO:校验图片类型 //stream.Position = 0; IOClient target = new IOClient(); PutExtra extra = new PutExtra(); //设置上传的文件的key值 //String key = "EDIT2/yourdefinekey3.PNG"; //普通上传,只需要设置上传的空间名就可以了,第二个参数可以设定token过期时间 [:key覆盖上传] PutPolicy put = new PutPolicy(bucket + ":" + fileKey, 3600); //设置callbackUrl以及callbackBody,七牛将文件名和文件大小回调给业务服务器 //put.CallBackUrl = "http://7xrpbe.com1.z0.glb.clouddn.com/callback"; //put.CallBackBody = "filename=xxxxx.png&filesize=100"; //调用Token()方法生成上传的Token string upToken = put.Token(); //上传文件的路径 //String filePath = p + @"\abc\7.png"; //调用Put方法上传 PutRet ret = target.Put(upToken, fileKey, stream, extra); return(new ApiModel <string> { ReturnValue = ret.OK ? (int)ErrorCode.Success : 0, DataModel = ret.key, Message = ret.Exception != null?ret.Exception.ToString() : "" }); }
public void Test() { //设置账号的AK和SK Config.ACCESS_KEY = "8NXAoPOInRsnTVomjBKUC3KHCvfWfZFqRLenOANR"; Config.SECRET_KEY = "xyQ7wcbLukoGUFFCV814PRU9HSf9S3gniEKs6E9M"; //设置上传的空间 string bucket = "helloworld"; //普通上传,只需要设置上传的空间名就可以了,第二个参数可以设定token过期时间 PutPolicy put = new PutPolicy(bucket, 3600); //调用Token()方法生成上传的Token string upToken = put.Token(); //string upToken = @"APZpifSHJlh0TYB2UJRm5WXyo_zB4cF5oyUFrwu4:Os7lv0cv3ngPdcp3hAEyAWkpspU=:eyJzY29wZSI6InJvbmciLCJkZWFkbGluZSI6MTQ2OTA2OTM4NCwiaW5zZXJ0T25seSI6MCwiZGV0ZWN0TWltZSI6MCwiZnNpemVMaW1pdCI6MCwiZnNpemVNaW4iOjAsImNhbGxiYWNrRmV0Y2hLZXkiOjB9"; ////string upToken = @"APZpifSHJlh0TYB2UJRm5WXyo_zB4cF5oyUFrwu4:dIynZd9Ln8Vz43x2Eo6j-Ugy5IA=:eyJzY29wZSI6InJvbmciLCJkZWFkbGluZSI6MTQ2OTA3MDEyMSwiaW5zZXJ0T25seSI6MCwiZGV0ZWN0TWltZSI6MCwiZnNpemVMaW1pdCI6MCwiZnNpemVNaW4iOjAsImNhbGxiYWNrRmV0Y2hLZXkiOjB9"; //上传文件的路径 string filePath = "UploadFiles/Helloworld.txt"; //设置上传的文件的key值 string key = "test_helloworld4.txt"; IOClient target = new IOClient(); PutExtra extra = new PutExtra(); //调用PutFile()方法上传 PutRet ret = target.PutFile(upToken, key, filePath, extra); ret.OK.ShouldBe(true); //打印出相应的信息 //var response = ret.Response.ToString(); //var retKey = ret.key; }
public void UpLoadToQiNiu(Stream stream, string path) { IOClient target = new IOClient(); PutExtra extra = new PutExtra(); //普通上传,只需要设置上传的空间名就可以了,第二个参数可以设定token过期时间 PutPolicy put = new PutPolicy(bucket, 3600); //调用Token()方法生成上传的Token string upToken = put.Token(); //上传文件的路径 //String filePath = "/.../..."; var _path = EnsureUrlSeparatorChar(path); //上传 将umbraco的path作为key传入 PutRet ret = target.Put(upToken, _path, stream, extra); LogHelper.Info <PutRet>("上传至七牛云" + (ret.OK ? "成功" : "失败")); if (ret.OK) { } else { throw new Exception("上传失败"); } }
public static Dictionary <string, object> GetQNToken() { lock (QNtokent) { if (QnDictionary.ContainsKey("uptoken")) { TimeSpan ts = new TimeSpan(Convert.ToDateTime(QnDictionary["ctime"]).Ticks).Subtract( new TimeSpan(DateTime.Now.Ticks)).Duration(); if (ts.TotalMinutes > 55) { Config.Init(); PutPolicy put = new PutPolicy(bucket, 3600); QnDictionary["uptoken"] = put.Token(); } return(QnDictionary); } else { Config.Init(); //普通上传,只需要设置上传的空间名就可以了,第二个参数可以设定token过期时间 PutPolicy put = new PutPolicy(bucket, 3600); //调用Token()方法生成上传的Token string upToken = put.Token(); QnDictionary.Add("uptoken", upToken); QnDictionary.Add("ctime", DateTime.Now); QnDictionary.Add("bucket", bucket); QnDictionary.Add("imgurl", imgurl); } return(QnDictionary); } }
public static string PutFile(string bucket, string key, Stream stream) { try { var scope = bucket + ":" + key; var policy = new PutPolicy(scope); string upToken = policy.Token(); var extra = new PutExtra(); var client = new IOClient(); var ret = client.Put(upToken, key, stream, extra); if (ret.OK) { return(string.Format(ConfigUtility.GetValue("QiNiuDomain"), bucket) + ret.key); } else { return(""); } } catch (Exception e) { log4net.LogManager.GetLogger("ImageUpload").Error(e.Message); return(""); } }
public string GetUploadToken(string type, string imgPara = "", long uid = 0) { string bucket; string domain; GetTokenAndDomain(type, out bucket, out domain); string entryKey = DESEncrypt.Encrypt(GetEncryptText(DateTime.Now)); PutPolicy put = new PutPolicy(bucket, 8 * 60 * 60); put.CallBackUrl = "http://" + callBackUrl + "/api/QiniuUpload/Callback"; string callBackBody = "BusinessType=" + type + "&WOBO=" + entryKey + "&key=$(key)&hash=$(etag)&filesize=$(fsize)"; callBackBody += type.Equals("video") ? "&avinfo=$(avinfo)" : "&imageInfo=$(imageInfo)"; if (!string.IsNullOrEmpty(imgPara)) { callBackBody += "&imgPara=" + imgPara; } if (uid >= 1) { callBackBody += "&userId=" + uid; } put.CallBackBody = callBackBody; return(put.Token()); }
private void upload() { //设置账号的AK和SK Qiniu.Conf.Config.ACCESS_KEY = "Access_Key"; Qiniu.Conf.Config.SECRET_KEY = "Secret_Key"; IOClient target = new IOClient(); PutExtra extra = new PutExtra(); //设置上传的空间 String bucket = "bucket_name"; //设置上传的文件的key值 String key = "yourdefinekey"; //覆盖上传,<bucket>:<key>,表示只允许用户上传指定key的文件。在这种格式下文件默认允许“修改”,已存在同名资源则会被本次覆盖。 PutPolicy put = new PutPolicy(bucket + ":" + key, 3600); //设置callbackUrl以及callbackBody,七牛将文件名和文件大小回调给业务服务器 put.CallBackUrl = "http://your.domain.com/callback"; put.CallBackBody = "filename=$(fname)&filesize=$(fsize)"; //调用Token()方法生成上传的Token string upToken = put.Token(); //上传文件的路径 String filePath = "/.../..."; //调用PutFile()方法上传 PutRet ret = target.PutFile(upToken, key, filePath, extra); //打印出相应的信息 Console.WriteLine(ret.Response.ToString()); Console.WriteLine(ret.key); Console.ReadLine(); }
public void PutFileTest() { IOClient target = new IOClient(); string key = NewKey; PrintLn(key); PutExtra extra = new PutExtra(); // TODO: 初始化为适当的值 extra.MimeType = "text/plain"; extra.Crc32 = 123; extra.CheckCrc = CheckCrcType.CHECK; extra.Params = new System.Collections.Generic.Dictionary <string, string> (); PutPolicy put = new PutPolicy(Bucket); TmpFIle file = new TmpFIle(1024 * 10); target.PutFinished += new EventHandler <PutRet> ((o, e) => { file.Del(); if (e.OK) { RSHelper.RSDel(Bucket, file.FileName); } }); PutRet ret = target.PutFile(put.Token(), file.FileName, file.FileName, extra); //error params //target.PutFile("error", "error", "error", null); Assert.IsTrue(ret.OK, "PutFileTest Failure"); }
public static void MyUpload(string path) { Debug.Log(path); if (string.IsNullOrEmpty(path)) { return; } PutPolicy policy = new PutPolicy(qiniuBucket, 3600); string upToken = policy.Token(); string key = SystemInfo.deviceUniqueIdentifier + "_" + System.DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss") + Path.GetFileName(path); Settings setting = new Settings(); ResumablePutExtra extra = new ResumablePutExtra(); ResumablePut client = new ResumablePut(setting, extra); CallRet callRet = client.PutFile(upToken, path, key); ReturnBody returnBody = JsonConvert.DeserializeObject <ReturnBody>(callRet.Response); qiniufileName = returnBody.key; Debug.Log(qiniufileName); Debug.Log(callRet.Response); Debug.Log(callRet.Exception); Debug.Log(callRet.StatusCode); }
private void upload() { //设置账号的AK和SK Qiniu.Conf.Config.ACCESS_KEY = "Access_Key"; Qiniu.Conf.Config.SECRET_KEY = "Secret_Key"; IOClient target = new IOClient(); PutExtra extra = new PutExtra(); //设置上传的空间 String bucket = "bucket_name"; //设置上传的文件的key值 String key = "yourdefinekey"; //普通上传,只需要设置上传的空间名就可以了,第二个参数可以设定token过期时间 PutPolicy put = new PutPolicy(bucket, 3600); //设置callbackUrl以及callbackBody,七牛将文件名和文件大小回调给业务服务器 put.CallBackUrl = "http://your.domain.com/callback"; put.CallBackBody = "filename=$(fname)&filesize=$(fsize)"; //调用Token()方法生成上传的Token string upToken = put.Token(); //上传文件的路径 String filePath = "/.../..."; PutRet ret = target.PutFile(upToken, key, filePath, extra); //打印出相应的信息 Console.WriteLine(ret.Response.ToString()); Console.WriteLine(ret.key); Console.ReadLine(); }
/// <summary> /// 上传图片到七牛空间 /// </summary> /// <param name="bucket">设置上传的空间 "zynblog"</param> /// <param name="key">目标资源的最终名字."headicon/20160601/55c48c00-cc9e-42e4-8ad1-610d640b099f.jpg"</param> /// <param name="filePath">上传文件的本地路径</param> public static bool UploadFile(string bucket, string key, string filePath) { IOClient target = new IOClient(); PutExtra extra = new PutExtra(); //普通上传,只需要设置上传的空间名就可以了,第二个参数可以设定token过期时间 PutPolicy put = new PutPolicy(bucket, 3600); //调用Token()方法生成上传的Token string upToken = put.Token(); //调用PutFile()方法上传 PutRet ret = target.PutFile(upToken, key, filePath, extra); //如果资源上传成功,服务端会响应HTTP 200返回码,且在响应内容中包含两个字段: //实验表明:在断网情况下,状态码依然为200!!!! //System.Net.HttpStatusCode code = ret.StatusCode; //OK:200 //bool flag = false; //if (code == System.Net.HttpStatusCode.OK) // flag = true; //return flag; bool flag = false; if (ret.key != null && ret.Hash != null) { flag = true; } return(flag); }
private void upload() { //设置账号的AK和SK Qiniu.Conf.Config.ACCESS_KEY = "Access_Key"; Qiniu.Conf.Config.SECRET_KEY = "Secret_Key"; IOClient target = new IOClient(); PutExtra extra = new PutExtra(); //设置上传的空间 String bucket = "bucket_name"; //设置上传的文件的key值 String key = "yourdefinekey"; //普通上传,只需要设置上传的空间名就可以了,第二个参数可以设定token过期时间 PutPolicy put = new PutPolicy(bucket, 3600); //调用Token()方法生成上传的Token string upToken = put.Token(); //上传文件的路径 String filePath = "/.../..."; //调用PutFile()方法上传 PutRet ret = target.PutFile(upToken, key, filePath, extra); //打印出相应的信息 Console.WriteLine(ret.Response.ToString()); Console.WriteLine(ret.key); Console.ReadLine(); }
public JsonResult GetToken() { var policy = new PutPolicy("i4ta"); string token = policy.Token(); var jsonToken = new { uptoken = token }; return(Json(jsonToken, JsonRequestBehavior.AllowGet)); }
/// <summary> /// 获取7牛 token /// </summary> /// <returns></returns> private string GetToken() { Qiniu.Conf.Config.ACCESS_KEY = "svBSIqScEwfWhLW5mJf62-t7pFLE-qm5Ofe8-YMP"; Qiniu.Conf.Config.SECRET_KEY = "AnwF8pDDTqIhSRGU3tC2MsjCldHqgsS_B6FG5DYc"; var policy = new PutPolicy("bobosquad", 3600); return(policy.Token()); }
public ResponseMessage GetToken() { var policy = new PutPolicy("i4ta"); string token = policy.Token(); return(new RFramework.Message.ResponseMessage { Body = new { uptoken = token } }); }
public void ProcessRequest(HttpContext context) { PutPolicy policy = new PutPolicy("wangming"); string token = policy.Token(); context.Response.Write(token); // context.Response.Write ("iN7NgwM31j4-BZacMjPrOQBs34UG1maYCAQmhdCV:IBVwHNHjPo5Zc1AdiZP7j2YeHt8=:eyJzY29wZSI6InF0ZXN0YnVja2V0OmhlbGxveHh4eCIsImRlYWRsaW5lIjoxMzgzMzEyMDE1fQ=="); }
public async Task PutFileWithoutKeyTest() #endif { IOClient target = new IOClient(); PutExtra extra = new PutExtra(); // TODO: 初始化为适当的值 extra.MimeType = "text/plain"; extra.Crc32 = 123; extra.CheckCrc = CheckCrcType.CHECK; extra.Params = new System.Collections.Generic.Dictionary <string, string> (); PutPolicy put = new PutPolicy(Bucket); TmpFIle file = new TmpFIle(1024 * 10); #if NET20 || NET40 target.PutFinished += new EventHandler <PutRet> ((o, e) => { file.Del(); if (e.OK) { RSHelper.RSDel(Bucket, file.FileName); } }); PutRet ret = target.PutFileWithoutKey(put.Token(), file.FileName, extra); Assert.AreEqual(ret.Hash, ret.key, "expected key equal to hash"); //error params //target.PutFile("error", "error", "error", null); Assert.IsTrue(ret.OK, "PutFileTest Failure"); #else target.PutFinished += new EventHandler <PutRet>(async(o, e) => { file.Del(); if (e.OK) { await RSHelper.RSDel(Bucket, file.FileName); } }); PutRet ret = await target.PutFileWithoutKeyAsync(put.Token(), file.FileName, extra); Assert.True(ret.Hash == ret.key, "expected key equal to hash"); //error params //target.PutFile("error", "error", "error", null); Assert.True(ret.OK, "PutFileTest Failure"); #endif }
/// <summary> /// 上传文件 /// </summary> /// <param name="name">自定义资源名称</param> /// <param name="src">路径</param> /// <returns></returns> public static bool PutFile(string name, string src) { var policy = new PutPolicy(bucket, 3600); string upToken = policy.Token(); PutExtra extra = new PutExtra(); IOClient client = new IOClient(); var e = client.PutFile(upToken, name, src, extra); return(e.OK); }
public string GetUpToken(QiniuToken request) { Qiniu.Conf.Config.ACCESS_KEY = "88_zth5M0BXGRvLHBJM59I3yTJbjzRAFhVZqGkKz"; Qiniu.Conf.Config.SECRET_KEY = "s8HnQb5fSM0vDE7kTt1Ab42nPR9lkPkuSiMDtGI-"; string bucket = "sysmagic"; PutPolicy put = new PutPolicy(bucket, 3600); string upToken = put.Token(); return(upToken); }