using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Qiniu;
using Qiniu.IO;
using Qiniu.IO.Model;
using Qiniu.RS;
using Qiniu.Util;
using Qiniu.Http;
namespace 资源包下载专用项目
{
public static class qiniu_img
{
private static string imgUrRL = "http://p0f3oob2z.bkt.clouddn.com/";
#region //弃用
// //Mac mac = new Mac(AccessKey, SecretKey);
// // 上传文件名
// string key = "key";
// // 本地文件路径
// string filePath = "D:\\tools\\putty.exe";
// // 存储空间名
// string Bucket = "7qiniu";
// PutPolicy putPolicy = new PutPolicy();
// putPolicy.
// putPolicy.Scope = Bucket;
//putPolicy.SetExpires(3600);
//putPolicy.DeleteAfterDays = 1;
//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());
#endregion
#region
// AK = ACCESS_KEY
// USE_HTTPS = (true|false) 是否使用HTTPS
// 使用前请确保AK和BUCKET正确,否则此函数会抛出异常(比如code612/631等错误)
//Qiniu.Common.Config.AutoZone(AK,BUCKET,USE_HTTPS);
/// <summary>
/// 简单上传-上传小文件
/// 注意:上传成功时返值为对应文件外链地址
/// 上传失败时返回值为 false
/// 请自行判断
/// </summary>
public static object 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)];
//设置AK
Settings.AccessKey = "ChLJ1VB7R3TFgdbSOqI1OPWsZP14ROAYyhmHVcF8";
//设置SK
Settings.SecretKey = "pDqd5ydFwyxudr-UMV4TRSV0W33SA3FJdwV4eJj";
try
{
#region //上传图片到七牛云
// 生成(上传)凭证时需要使用此Mac
// 这个示例单独使用了一个Settings类,其中包含AccessKey和SecretKey
// 实际应用中,请自行设置您的AccessKey和SecretKey
Mac mac = new Mac(Settings.AccessKey, Settings.SecretKey);
string bucket = "my-img-171204";
//自定义组合外链图片名称
string saveKey = imgName + "qiniu" + DateTime.Now.Year + DateTime.Now.Month + DateTime.Now.Day;
//上传图片的物理路径
string localFile = imgUrl;
// 上传策略,参见
// https://developer.qiniu.com/kodo/manual/put-policy
PutPolicy putPolicy = new PutPolicy();
// 如果需要设置为"覆盖"上传(如果云端已有同名文件则覆盖),请使用 SCOPE = "BUCKET:KEY"
// putPolicy.Scope = bucket + ":" + saveKey;
putPolicy.Scope = bucket;
// 上传策略有效期(对应于生成的凭证的有效期)
putPolicy.SetExpires(3600);
// 上传到云端多少天后自动删除该文件,如果不设置(即保持默认默认)则不删除
//putPolicy.DeleteAfterDays = 1;
// 生成上传凭证,参见
// https://developer.qiniu.com/kodo/manual/upload-token
string jstr = putPolicy.ToJsonString();
string token = Auth.CreateUploadToken(mac, jstr);
UploadManager um = new UploadManager();
HttpResult result = um.UploadFile(localFile, saveKey, token);
#endregion
return imgUrRL + saveKey;
}
catch
{
return "上传失败,请检查文件物理路径是否出错!";
}
//Console.WriteLine(result);
}
#endregion
}
/// <summary>
/// 自定义Settings类用来存放AK和SK
/// </summary>
public static class Settings
{
public static string AccessKey { get; set; }
public static string SecretKey { get; set; }
}
}
C#上传图片或文件到七牛云并返回当前图片或文件的外链地址
最新推荐文章于 2025-01-21 00:18:53 发布