C# 七牛 怎么获取上传图片成功之后的地址?

管理员 253 次浏览

摘要: 成功上传后会返回hash,key等内容, 公共空间的内容可以通过此类地址直接访问。

博客来源于:讯杰设计网:http://blogs.51diysoft.com/blogs

成功上传后会返回hash,key等内容,http://<domain>/<key>即是文件地址。
公共空间的内容可以通过此类地址直接访问。



实例代码如下:

执行请求后返回内容。http://cdn.51diyisoft.com/MTkxMDE2NjA1MzgwMDk5.pdf

{"hash":"lilbS-yFDmoYz_L0HQ7Pc0iB27dg","key":"MTkxMDE2NjA1MzgwMDk5.pdf"

http://<domain>/<key>即是文件地址,文件地址是http://cdn.51diyisoft.com/MTkxMDE2NjA1MzgwMDk5.pdf




      string _AccessKey = "您的SK";
        string _SecretKey = "您的AK";


        public MainWindow()
        {
            InitializeComponent();
        }

        private void btnUpload_Click(object sender, EventArgs e)
        {

            try
            {
                //Mac mac = new Mac(AccessKey, SecretKey);
                //PutPolicy putPolicy = new PutPolicy();
                //putPolicy.Scope = Bucket;
                //string token = Auth.CreateUploadToken(mac, putPolicy.ToJsonString());

                Mac mac = new Mac(_AccessKey, _SecretKey);
                // 上传文件名
                string key = "MTkxMDE2NjA1MzgwMDk5.pdf";
                // 本地文件路径
                string filePath = @"D:\dcs\sampledoc\output\2019\10\16\MTkxMDE2NjA1MzgwMDk5.pdf";
                // 存储空间名
                string Bucket = "isoft";

                // 设置上传策略,详见: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());

                Config config = new Config();
                // 设置上传区域
                config.Zone = Zone.ZONE_CN_East;
                // 设置 http 或者 https 上传
                config.UseHttps = true;
                config.UseCdnDomains = true;
                config.ChunkSize = ChunkUnit.U512K;
                // 表单上传
                FormUploader target = new FormUploader(config);
                HttpResult result = target.UploadFile(filePath, key, token, null);
                Console.WriteLine("form upload result: " + result.ToString());

                //{"hash":"lilbS-yFDmoYz_L0HQ7Pc0iB27dg","key":"MTkxMDE2NjA1MzgwMDk5.pdf"}
                //http://cdn.51diyisoft.com/MTkxMDE2NjA1MzgwMDk5.pdf
            }
            catch (Exception exception)
            {
                MessageBox.Show(exception.Message);
            }


        }