Example #1
0
        public void PutFileWithoutKeyTest()
        {
            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> ();
            extra.Scope    = Bucket;
            PutPolicy put  = new PutPolicy(extra.Scope);
            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.PutFileWithoutKey(put.Token(), file.FileName, extra);

            //error params
            //target.PutFile("error", "error", "error", null);
            Assert.IsTrue(ret.OK, "PutFileTest Failure");
        }
Example #2
0
        public static string UploadAttachment(string filepath, string files = "orders")
        {
            string allFilePath = "";

            Config.Init();
            IOClient target = new IOClient();
            PutExtra extra  = new PutExtra();
            Dictionary <string, object> param = GetQNToken();
            //调用Token()方法生成上传的Token
            string upToken = param["uptoken"].ToString();

            //上传文件的路径
            if (!string.IsNullOrEmpty(filepath))
            {
                string[] filepaths = filepath.Split(',');
                foreach (string file in filepaths)
                {
                    if (!string.IsNullOrEmpty(file))
                    {
                        var fileExtension = file.Substring(file.LastIndexOf(".") + 1).ToLower();
                        var key           = files + (DateTime.Now.Year + "." + DateTime.Now.Month + "." + DateTime.Now.Day + "/") + GetTimeStamp() + "." + fileExtension;
                        //调用PutFile()方法上传
                        PutRet ret = target.PutFile(upToken, key, file, extra);
                        if (ret.OK)
                        {
                            allFilePath += param["imgurl"] + ret.key + ",";
                        }
                    }
                }
            }
            return(allFilePath.TrimEnd(','));
        }
Example #3
0
    /// <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>
        /// 七牛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 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());
        }
Example #6
0
    /// <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 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());
        }
        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());
        }
Example #9
0
        /// <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);
        }
Example #10
0
        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;
        }
Example #11
0
        /// <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);
            }
        }
Example #12
0
        /// <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);
            }
        }
Example #13
0
        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();
        }
Example #14
0
        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>();
            extra.Scope    = Bucket;
            PutPolicy put = new PutPolicy(extra.Scope);

            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, "Hello, Qiniu Cloud!".ToStream(), extra);

            Assert.IsTrue(ret.OK, "PutFileTest Failure");
        }
Example #15
0
        public static ResultData UploadFileToServer(string filekey, string fpath, FileTypeDirEnum dir, bool isOverride, Action <int> proAction)
        {
            ResultData result = new ResultData();

            //设置账号的AK和SK
            Qiniu.Conf.Config.ACCESS_KEY = QiniuConfig.AccessKey;
            Qiniu.Conf.Config.SECRET_KEY = QiniuConfig.SecretKey;

            IOClient target = new IOClient();

            target.ProgressHandler += (x, y) =>
            {
                proAction?.Invoke(y.Progress);
            };
            PutExtra extra = new PutExtra();
            //设置上传的空间
            string bucket = QiniuUtil.GetServerBucket(dir);
            //设置上传的文件的key值
            string key = filekey;


            //覆盖上传,<bucket>:<key>,表示只允许用户上传指定key的文件。在这种格式下文件默认允许“修改”,已存在同名资源则会被本次覆盖。
            PutPolicy put = new PutPolicy(bucket, 3600);

            if (isOverride)
            {
                put = new PutPolicy(string.Format("{0}:{1}", bucket, key));
            }

            //VideoWaterMark(put, key, bucket);
            //调用Token()方法生成上传的Token
            string upToken = put.Token();
            //上传文件的路径
            string filePath = fpath;

            //调用PutFile()方法上传
            PutRet ret = target.PutFile(upToken, key, filePath, extra);
            //打印出相应的信息
            string json = ret.Response.ToString();

            if (json.Contains("hash") && json.Contains("key"))
            {
                ResData user = (ResData)JsonConvert.DeserializeObject(json, typeof(ResData));
                result.HashCode  = user.hash;
                result.IsSuccess = true;
                result.Key       = user.key;
                result.FullUrl   = QiniuUtil.GetFullUrl(user.key, dir);
            }
            else
            {
                result.IsSuccess = false;
                var resData = (ErrData)JsonConvert.DeserializeObject(json, typeof(ErrData));
                result.ErrCode = resData.code;
                result.ErrMsg  = resData.error;
            }

            return(result);
        }
Example #16
0
        /// <summary>
        /// 上传文件测试
        /// </summary>
        /// <param name="bucket"></param>
        /// <param name="key"></param>
        /// <param name="fname"></param>
        public static void PutFile(string bucket, string key, string fname)
        {
            var      policy  = new PutPolicy(bucket, 3600);
            string   upToken = policy.Token();
            PutExtra extra   = new PutExtra();
            IOClient client  = new IOClient();
            PutRet   putret  = client.PutFile(upToken, key, fname, extra);

            string str = putret.OK.ToString();
        }
Example #17
0
        /// <summary>
        /// 上传文件测试
        /// </summary>
        /// <param name="bucket"></param>
        /// <param name="key"></param>
        /// <param name="fname"></param>
        public bool PutFile(string bucket, string key, string fname)
        {
            var      policy  = new PutPolicy(bucket);
            string   upToken = policy.Token();
            PutExtra extra   = new PutExtra();
            IOClient client  = new IOClient();
            PutRet   atr     = client.PutFile(upToken, key, fname, extra);

            return(atr.OK);
        }
Example #18
0
        public override async void UploadImage()
        {
            if (Accound == null ||
                string.IsNullOrEmpty(Accound.AccessKey) ||
                string.IsNullOrEmpty(Accound.SecretKey) ||
                string.IsNullOrEmpty(Accound.Bucket) ||
                string.IsNullOrEmpty(Accound.Url))
            {
                //默认
                Accound = AppId.Accound;
            }
            //判断域名最后存在“/”不存在就加,不然会看不到域名和图片
            if (!Accound.Url.EndsWith("/"))
            {
                Accound.Url += "/";
            }
            string name = null;

            if (string.IsNullOrEmpty(Name))
            {
                if (Accound.UploadFileName)
                {
                    name = File.Name;
                }
            }
            else
            {
                name = Name;
            }

            if (!string.IsNullOrEmpty(name) && !string.IsNullOrEmpty(Accound.Pname))
            {
                name = Accound.Pname + "/" + Uri.EscapeDataString(name);
            }

            try
            {
                IOClient upload = new IOClient();

                PutRet temp = await upload.UploadFile(
                    Accound.AccessKey,
                    Accound.SecretKey,
                    Accound.Bucket,
                    File, name);

                Url = Accound.Url + temp.key;

                OnUploaded?.Invoke(this, true);
            }
            catch (Exception)
            {
                OnUploaded?.Invoke(this, false);
            }
        }
Example #19
0
        private void button2_Click(object sender, EventArgs e)
        {
            PutRet ret = QiNiuHelper.PutFile();

            if (ret.OK)
            {
                MessageBox.Show("OK");
            }
            else
            {
                MessageBox.Show(ret.Exception.Message);
            }
        }
Example #20
0
        /// <summary>
        /// 上传文件
        /// </summary>
        /// <param name="bucket"></param>
        /// <param name="key"></param>
        /// <param name="fname"></param>
        public static PutRet PutFile()
        {
            var      policy  = new PutPolicy(bucket, 3600);
            string   upToken = policy.Token();
            PutExtra extra   = new PutExtra();
            IOClient client  = new IOClient();
            PutRet   ret     = client.PutFile(upToken, key, fileName, extra);

            if (ret.OK)
            {
                System.Configuration.ConfigurationManager.AppSettings["HashCode"] = ret.Hash;
            }
            return(ret);
        }
Example #21
0
        /// <summary>
        /// 上传文件,普通上传(Put)
        /// </summary>
        /// <param name="bucket_name">设置上传的空间</param>
        /// <param name="key"></param>
        /// <param name="stream">上传文件流数据</param>
        /// <returns></returns>
        public static bool Upload(string bucket_name, string key, Stream stream)
        {
            IOClient iOClient = new IOClient();
            PutExtra extra    = new PutExtra();

            PutPolicy putPolicy = new PutPolicy(bucket_name, 3600u);

            string upToken = putPolicy.Token(null);

            stream.Position = 0L;
            PutRet putRet = iOClient.Put(upToken, key, stream, extra);

            return(putRet != null && putRet.OK);
        }
Example #22
0
        // 上传图片
        public string UploadFile(string bucket, string key, string path)
        {
            IOClient target = new IOClient();
            PutExtra extra  = new PutExtra();
            // 设置上传的空间

            PutPolicy put = new PutPolicy(bucket, 3600);

            string upToken = put.Token();

            PutRet ret = target.PutFile(upToken, key, path, extra);

            return(ret.Response.ToString());
        }
Example #23
0
        public string PutFile(string key, string fname)
        {
            _putfileRet = "";
            var      policy  = new PutPolicy(_bucket, 7200);
            string   upToken = policy.Token();
            PutExtra extra   = new PutExtra();
            IOClient client  = new IOClient();
            PutRet   ret     = client.PutFile(upToken, key, fname, extra);

            if (!ret.OK)
            {
                _putfileRet = string.Format("fsizelimit={0},deadline={1}", policy.FsizeLimit, policy.Deadline) + ret.Response + "***exception:" + ret.Exception.ToString();
            }
            return(_putfileRet);
        }
Example #24
0
        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
        }
Example #25
0
        public bool UploadAttachment(string key)
        {
            Config.Init();
            IOClient target = new IOClient();
            PutExtra extra  = new PutExtra();
            //普通上传,只需要设置上传的空间名就可以了,第二个参数可以设定token过期时间
            PutPolicy put = new PutPolicy(YXManage.Common.Common.QNBucket, 3600);

            //调用Token()方法生成上传的Token
            string upToken = put.Token();
            //上传文件的路径
            String filePath = string.Empty;

            //调用PutFile()方法上传
            PutRet ret = target.PutFile(upToken, key, filePath, extra);


            return(ret.OK);
        }
Example #26
0
        public static void PutTest()
        {
            IOClient target  = new IOClient();
            string   upToken = string.Empty;
            string   key     = LocalKey;
            //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>();
            extra.Scope    = Bucket + ":" + key;
            PutPolicy put = new PutPolicy(extra.Scope);

            PutRet ret = target.Put(put.Token(), key, "hello Qiniu Cloud!".ToStream(), extra);

            //Assert.IsTrue(ret.OK, "PutFileTest Failure");
        }
Example #27
0
        /// <summary>
        /// 上传文件,普通上传(Put)
        /// </summary>
        /// <param name="bucket_name">设置上传的空间</param>
        /// <param name="data">上传文件字节数据</param>
        /// <param name="ext"></param>
        /// <returns></returns>
        public static string Upload(string bucket_name, byte[] data, string ext)
        {
            IOClient iOClient = new IOClient();
            PutExtra extra    = new PutExtra();

            //普通上传,只需要设置上传的空间名就可以了,第二个参数可以设定token过期时间
            PutPolicy putPolicy = new PutPolicy(bucket_name, 3600u);

            //设置上传的文件的key值
            string key = Guid.NewGuid().ToString("N") + "." + ext;

            //调用Token()方法生成上传的Token
            string upToken = putPolicy.Token(null);

            PutRet putRet = null;

            using (Stream stream = new MemoryStream())
            {
                stream.Write(data, 0, data.Length);
                stream.Position = 0L;
                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);
        }
Example #28
0
        public async Task PutTest()
#endif
        {
            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);

#if NET20 || NET40
            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");
#else
            target.PutFinished += new EventHandler <PutRet>(async(o, e) =>
            {
                if (e.OK)
                {
                    await RSHelper.RSDel(Bucket, key);
                }
            });
            string token = put.Token();
            PutRet ret   = await target.PutAsync(put.Token(), key, StreamEx.ToStream("Hello, Qiniu Cloud!"), extra);

            Assert.True(ret.OK, "PutFileTest Failure");
#endif
        }
Example #29
0
        public bool UploadAttachment(string key, string localFile)
        {
            Config.Init();
            //设置上传的空间
            IOClient target = new IOClient();
            PutExtra extra  = new PutExtra();
            //设置上传的空间
            string bucket = YXERP.Common.Common.QNBucket;

            //普通上传,只需要设置上传的空间名就可以了,第二个参数可以设定token过期时间
            PutPolicy put = new PutPolicy(bucket + ":" + key, 3600);

            //调用Token()方法生成上传的Token
            string upToken = put.Token();

            localFile = Server.MapPath(localFile);
            //调用PutFile()方法上传
            PutRet ret = target.PutFile(upToken, key, localFile, extra);

            return(ret.OK);
        }
Example #30
0
        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";

            //设置转码操作参数
            String fops = "avthumb/mp4/s/640x360b/1.25m";
            //设置转码的队列
            String pipeline = "yourpipelinename";

            //可以对转码后的文件进行使用saveas参数自定义命名,当然也可以不指定文件会默认命名并保存在当前空间。
            String urlbase64 = Qiniu.Util.Base64URLSafe.Encode("目标Bucket_Name:自定义文件key");
            String pfops     = fops + "|saveas/" + urlbase64;

            //普通上传,只需要设置上传的空间名就可以了,第二个参数可以设定token过期时间
            PutPolicy put = new PutPolicy(bucket, 3600);

            //设置PersistentOps以及PersistentPipeline
            put.PersistentOps      = fops;
            put.PersistentPipeline = pipeline;

            //调用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();
        }