C# 檔案上傳到七牛雲伺服器(一)
本章講述:C# 中呼叫七牛雲提供的SDK,實現檔案簡單上傳功能。
分片,斷點續上傳講解,請檢視:C# 檔案上傳到七牛雲伺服器(二)
地址為:
開發流程步驟地址:https://blog.csdn.net/BYH371256/article/details/79868562
1、把下載的“Qiniu.dll”動態庫檔案,引入到專案之中;
2、新增一個類,主要作用是:七牛雲的操作介面,分別新增作用名:Qiniu.Http;//七牛雲http協議名空間、Qiniu.Util;//七牛雲名空間、Qiniu.Storage、Qiniu.CDN
3、其他作用域:System.IO、System.Net
下面請看程式碼:
新建類:QiniuEnv,專門儲存和七牛雲伺服器相關的各項資料
public class QiniuEnv
{
public string AccessKey;//管理檔案 認證
public string SecretKey;//管理檔案 認證
public string Bucket;//空間名,可以是公開或者私有的
public string Domain;//檔案管理 外鏈預設域名
public string LocalFile;//本地儲存檔案路徑
public QiniuEnv()
{
//手動把自己註冊七牛雲伺服器的Akey和SKey,名空間、外連結預設域名填上
this.AccessKey = "";
this.SecretKey = "";
this.Bucket = "";//空間名
this.Domain = "";
this.LocalFile = "";
}
}
簡單實現檔案上傳--直接上傳
//七牛雲預設引數初始化
QiniuEnv QiniuParam = new QiniuEnv();
/// 直接上傳可用於資料較小的檔案 圖片
/// <param name="upLoadFile">上傳地址</param>
/// <returns></returns>
public bool UpLoading(string upLoadFile)
{
bool bresult = false;
string fileName = System.IO.Path.GetFileNameWithoutExtension(upLoadFile);
Mac mac = new Mac(QiniuParam.AccessKey, QiniuParam.SecretKey);
string key = fileName;//檔名稱
string filePath = upLoadFile;//上傳路徑
PutPolicy putPolicy = new PutPolicy();
putPolicy.Scope = QiniuParam.Bucket + ":" + key;
putPolicy.SetExpires(3600);
putPolicy.DeleteAfterDays = 1;
string token = Auth.CreateUploadToken(mac, putPolicy.ToJsonString());
Config config = new Config();
config.Zone = Zone.ZONE_CN_South;
config.UseHttps = true;
config.UseCdnDomains = true;
config.ChunkSize = ChunkUnit.U512K;
FormUploader target = new FormUploader(config);
HttpResult result = target.UploadFile(filePath, key, token, null);
string back = result.Code.ToString();
if (result.Code.ToString() == "200")
bresult = true;
return bresult;
}
實現分片上傳
/// <summary>
/// 分片上傳 測試
/// </summary>
/// <param name="upLoadFile">檔案本地地址</param>
/// <returns></returns>
public string ResumableUpLoadingTest(string upLoadFile)
{
string CallBackUrl = "";
Mac mac = new Mac(QiniuParam.AccessKey, QiniuParam.SecretKey);
string FileName = System.IO.Path.GetFileName(upLoadFile);
string key = FileName;
string filePath = upLoadFile;
System.IO.Stream fs = System.IO.File.OpenRead(filePath);
PutPolicy putPolicy = new PutPolicy();
putPolicy.Scope = QiniuParam.Bucket + ":" + key;
putPolicy.SetExpires(3600);
putPolicy.DeleteAfterDays = 1;
string token = Auth.CreateUploadToken(mac, putPolicy.ToJsonString());
Config config = new Config();
config.UseHttps = true;
config.Zone = Zone.ZONE_CN_South;//根據地址選擇
config.UseCdnDomains = true;
config.ChunkSize = ChunkUnit.U512K;//chunkUnit上傳分片大小,可選值128KB,256KB,512KB,1024KB,2048KB,4096KB
ResumableUploader target = new ResumableUploader(config);
PutExtra extra = new PutExtra();
//設定斷點續傳進度記錄檔案
extra.ResumeRecordFile = ResumeHelper.GetDefaultRecordKey(filePath, key);
extra.ResumeRecordFile = FileName + ".progress";
HttpResult result = target.UploadStream(fs, key, token, extra);
Console.WriteLine("resume upload: " + result.ToString());
if (result.Code == 200)
{
CallBackUrl = "http://" + QiniuParam.Domain + "/" + FileName;
}
return CallBackUrl;
}
相關文章
- PHP上傳檔案到七牛(Qiniu)PHP
- vue 靜態檔案上傳到七牛Vue
- springboot專案上傳儲存圖片到七牛雲伺服器Spring Boot伺服器
- nodejs 使用七牛雲端儲存上傳檔案NodeJS
- Laravel 上傳圖片到七牛雲Laravel
- Tp3如何實現本地視訊檔案上傳到七牛雲
- elementui upload元件 上傳視訊到七牛雲UI元件
- base64 上傳到七牛雲 返回url
- 七牛雲試用指南-單檔案直傳(原理)
- 更改DcatAdmin上傳元件, 直傳七牛雲元件
- 七牛雲試用指南-單檔案直傳(實踐)
- Laravel——圖片上傳之七牛雲Laravel
- java檔案上傳到伺服器Java伺服器
- iPic 新版:上傳檔案至七牛、又拍、阿里雲、騰訊雲、Amazon S3阿里S3
- 使用axios上傳檔案到阿里雲物件檔案儲存伺服器ossiOS阿里物件伺服器
- Laravel 圖片上傳到本地和七牛雲類封裝整合Laravel封裝
- Java上傳檔案到ftp伺服器JavaFTP伺服器
- 定時備份 MySQL 並上傳到七牛MySql
- 基於七牛和 element-ui 的 vue 檔案上傳元件UIVue元件
- 上傳檔案到VPS和雲伺服器用什麼軟體?伺服器
- C# httpclient上傳檔案C#HTTPclient
- Java學習筆記(一)上傳圖片到七牛雲的詳細實現流程Java筆記
- thinkphp 增加七牛上傳功能PHP
- Spring webflux 整合 Mendmix 上傳元件上傳檔案到阿里雲騰訊雲SpringWebUX元件阿里
- RxJava應用:實現七牛雲多圖上傳RxJava
- 基於.net core 七牛雲上傳多圖片
- Linux伺服器上傳檔案傳送檔案Linux伺服器
- 怎麼把本地資料庫檔案上傳到雲伺服器ecs資料庫伺服器
- 如何上傳雲伺服器檔案許可權伺服器
- Node.js 一行命令上傳本地檔案到伺服器Node.js伺服器
- Laravel 七牛雲 sdk 物件儲存 示例 上傳語音Laravel物件
- React Native 上傳圖片至七牛雲端儲存React Native
- 將 nuxt 打包檔案上傳到騰訊雲 cosUX
- PHP 指令碼實現 Markdown 文章上傳到七牛圖床PHP指令碼圖床
- vue + minio上傳檔案伺服器Vue伺服器
- PHP檔案跨伺服器上傳PHP伺服器
- 七牛雲測試域名過期後如何備份檔案
- .net上傳大型視訊檔案到伺服器,解決方案伺服器