1、官網文檔有例子、講的不是很清楚特意記錄一下、分片上傳(包含斷點續傳功能,建議直接使用分片上傳)
var endpoint = "aliyun_endpoint"; var accessKeyId = "aliyun_accessKey"; var accessKeySecret = "aliyun_scret"; var bucketName = "aliyun_bucket"; var objectName = "阿里雲文件夾名/本地文件夾名";//設置成阿里雲配置文件夾名字 var localFilename = @"local_file_path"; // 創建OssClient實例。 var client = new OssClient(endpoint, accessKeyId, accessKeySecret);
2、斷點續傳、官網講的不是很清晰CheckpointDir怎么給,看了下源碼,記錄一下
var endpoint = "aliyun_endpoint"; var accessKeyId = "aliyun_accessKey"; var accessKeySecret = "aliyun_secret"; var bucketName = "aliyun_bucket"; var objectName = "阿里雲下配置文件夾/***.ext";//保存在配置文件夾下-->名字為上傳的文件夾名字(不然上傳失敗后不能續傳上次上傳失敗的文件) var localFilename = @"local_file_path"; string checkpointDir = @"local_uplod_file_path";//checkpoint";//完全上傳成功會清除 ----->填寫上傳的文件地址(無需文件名) // 創建OssClient實例。 var client = new OssClient(endpoint, accessKeyId, accessKeySecret); try { // 通過UploadFileRequest設置多個參數。 UploadObjectRequest request = new UploadObjectRequest(bucketName, objectName, localFilename) { // 指定上傳的分片大小。 PartSize = 8 * 1024 * 1024, // 指定並發線程數。 ParallelThreadCount = 3, // checkpointDir保存斷點續傳的中間狀態,用於失敗后繼續上傳。如果checkpointDir為null,斷點續傳功能不會生效,每次失敗后都會重新上傳。 CheckpointDir = checkpointDir, }; // 斷點續傳上傳。 client.ResumableUploadObject(request); Console.WriteLine("Resumable upload object:{0} succeeded", objectName); } catch (OssException ex) { Console.WriteLine("Failed with error code: {0}; Error info: {1}. \nRequestID:{2}\tHostID:{3}", ex.ErrorCode, ex.Message, ex.RequestId, ex.HostId); }
3、總結。只注意前面checkpointDir以上,其他官網有源碼, 真特么該早點看源碼,不至於浪費這么長時間,唉! 歸根結底還是菜導致的。