C#实现上传图片到七牛云

 #region 七牛云上传
        public static string uploadfile(string imgurl)
        {
           //这里是通过分割拿到图片名
            string[] imgname_array = imgurl.Split('\\');
            string imgname = imgname_array[imgname_array.Length - 1].Split('.')[((imgname_array[imgname_array.Length - 1].Split('.')).Length - 2)];
            try
            {
                //创建用户对象
                Mac mac = new Mac(Settings.AccessKey, Settings.SecretKey);
                //储存空间名
                string bucket = "";
                //七牛云的图片保存地址
                string savekey ="";
                //传入的照片路径
                string localfile = imgurl;
                //上传凭证
                PutPolicy putPolicy = new PutPolicy();
                putPolicy.Scope = bucket;
                //凭证的有效时间
                putPolicy.SetExpires(3600);
                //设置图片过期时间 可自行更改
                putPolicy.DeleteAfterDays = 7;
                string token = Auth.CreateUploadToken(mac, putPolicy.ToJsonString());
                Config config = new Config();
                // 空间对应的机房
                config.Zone = Zone.ZoneCnSouth;
                //是否启用https域名
                config.UseHttps = true;
                //是否启用cdn加速
                config.UseCdnDomains = true;
                //上传文件时的分片大小
                config.ChunkSize = ChunkUnit.U512K;
                UploadManager um = new UploadManager(config);
                var result = um.UploadFile(localfile, savekey, token, null);
                return savekey;
            }
            catch (Exception ex)
            {
                return "";
            }
        }
        #endregion

七牛云官方文档地址:C# SDK_SDK 下载_对象存储 - 七牛开发者中心 (qiniu.com)icon-default.png?t=N7T8https://developer.qiniu.com/kodo/1237/csharp

以下是 C# 中使用 Microsoft.Office.Interop.Excel 库实现获取 Excel 单元格图片并上传到七牛云的代码示例: ```csharp using Excel = Microsoft.Office.Interop.Excel; using Qiniu.Storage; using Qiniu.Util; using System.IO; // 获取 Excel 单元格图片并上传到七牛云,参数 cell 为单元格对象 private void UploadImageToQiniu(Excel.Range cell) { Excel.Workbook workbook = cell.Worksheet.Parent as Excel.Workbook; string filePath = Path.GetTempFileName() + ".jpg"; // 生成临时文件路径 cell.CopyPicture(Excel.XlPictureAppearance.xlScreen, Excel.XlCopyPictureFormat.xlBitmap); // 复制单元格图片到剪切板 IDataObject clipboardData = Clipboard.GetDataObject(); if (clipboardData != null) { MemoryStream ms = clipboardData.GetData(DataFormats.Bitmap) as MemoryStream; if (ms != null) { using (FileStream fs = new FileStream(filePath, FileMode.Create)) { ms.WriteTo(fs); // 将剪切板中的图片保存到本地 } // 上传图片七牛云 string accessKey = "your_access_key"; string secretKey = "your_secret_key"; string bucket = "your_bucket_name"; string key = "your_key"; // 上传后的文件名 Mac mac = new Mac(accessKey, secretKey); PutPolicy putPolicy = new PutPolicy(); putPolicy.Scope = bucket; string token = Auth.CreateUploadToken(mac, putPolicy.ToJsonString()); FormUploader formUploader = new FormUploader(); HttpResult result = formUploader.UploadFile(filePath, key, token, null); if (result.Code == 200) { Console.WriteLine("Upload success."); } else { Console.WriteLine("Upload failed. Error code: " + result.Code); } } } } ``` 在上述代码中,我们首先引入了 Microsoft.Office.Interop.Excel 和 Qiniu.Storage 库,并声明了一个 UploadImageToQiniu 方法,该方法接收一个单元格对象 cell,并将该单元格中的图片上传七牛云。 在方法中,我们首先获取了包含该单元格的 Excel 文件对象,并生成了一个临时文件路径。接着,我们使用 CopyPicture 方法将单元格图片复制到剪切板,然后从剪切板中获取图片数据,并将其保存到本地临时文件中。 最后,我们使用七牛云的 SDK 将文件上传到指定的空间中,并输出上传结果。在上传前,我们需要先设置好自己的访问密钥、空间名和上传后的文件名。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lucky.帅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值