cuốn sách gpt4 ai đã làm

Tải lên và tải xuống hình ảnh không gian riêng tư của Qiniu Cloud

In lại Tác giả: Sahara Thời gian cập nhật: 2024-08-07 22:57:04 59 4
mua khóa gpt4 Nike

điều hướng

  • giới thiệu
  • Ý tưởng chung
  • Cấu hình tập tin liên quan đến Qiniu Cloud
  • Nhận mã tải lên thông báo trên đám mây Qiniu
    • Lớp liên kết định nghĩa
    • Triển khai mã nguồn
  • Get link tải ảnh Qiniuyun
    • do not public
    • không có thời gian riêng tư
    • Triển khai mã nguồn
  • Phần kết luận
  • tham khảo

giới thiệu

Chúng tôi đang phát triển và mã hóa cũng phải phát triển.

Hình ảnh đa phương tiện được sử dụng rộng rãi trong nhiều trang web, chương trình và ứng dụng nhỏ khác nhau, đồng cũng nâng cao đáng trải nghiệm của người dùng.

Với sự gia tăng của các dịch vụ đám mây, ngày càng có nhiều ứng dụng lựa chọn lưu trữ dữ liệu trên đám mây.

Công nghệ đám mây cho các tài liệu đa phương tiện ngày càng trở nên hoàn thiện, không chỉ có thể giảm chi phí và tăng hiệu quả mà còn cung cấp cho người dùng trải nghiệm cực nhanh.

Bài viết này chủ yếu giới thiệu cách phát triển khai chung về tải lên và tải xuống các tệp hình ảnh dựa trên Qiniu Cloud trong các dự án dự án chương trình web/mini.

Ý tưởng chung

Đầu tiên, chúng ta hãy xem quá trình tải lên và tải xuống hình ảnh trong dự án thực tế của chúng ta (đặc biệt là sự phân biệt giữa front-end và phía sau).



Quá trình có thể xác định rõ ràng logic tương tác giữa user-client-WebAPI-Qiniu Cloud. vàng.

Cấu hình tập tin liên quan đến Qiniu Cloud

Chúng tôi tải ảnh lên Qiniu Cloud, bao gồm một số cấu hình liên quan đến Qiniu Cloud.

 // Qiniu KEY "QiNiu": { "Key": "QiNiu cloud key", "Skey": "Qi Niu cloud skey", "ImgServerUrl": "https://devcdn.xx.com/",/ /Configure "DefaultBucket" theo điều kiện thực tế: "Public space BuckName", //Định cấu hình "privateUrl" theo điều kiện thực tế: "https://cdn-dev-private.xxx.com", //Định cấu hình theo tình hình thực tế "https": null, //cdn-dev-private.meb.com/ "privateBucket": "Không gian riêng tư BuckName" , //Định cấu hình "publicUrl" theo tình hình thực tế: "https://cdn.xxx.com/" //Định cấu hình hình theo tình hình thực tế},

Các liên kết cấu hình có thể được xem bằng cách đăng nhập vào Qiniu Cloud.

Ví dụ: đây là AccessKey/SecretKey của riêng tôi:


Nhận mã tải lên thông báo trên đám mây Qiniu

Lớp liên kết định nghĩa

///  /// Loại không tải lên Qiniu ///  /// Không xác định ///  [Mô tả("Không xác định")] UN_KNOW = -1, ///  /// Công khai ///  [Mô tả("Công khai")] PUBLIC_BUCKET = 0, ///  /// Riêng tư ///  [Mô tả("Riêng tư")] PRIVATE_BUCKET = 1 }
///  /// Các tham số được truyền vào khách hàng để phân biệt giữa không gian công cộng và không gian riêng ///  public class GetQINiuTokenDto { public string path; [Bắt lực(ErrorMessage = "Yêu cầu loại không gian")] public Nhóm FileUploadBucketEnum = FileUploadBucketEnum.UN_KNOW }
 ///  /// Các tham số được trả về cho khách hàng ///  lớp công khai QiniuTokenRsp { ///  /// Mã thông báo ///  mã thông báo chuỗi công khai { get; } ///  /// File name ///  chuỗi công khai FileName { get;

Khai báo Mã Lai

 ///  /// Nhận thông báo Qiniu Cloud mã hóa để tải lên hình ảnh ///  ///  ///  public QiniuTokenRsp GetQiNiuToken(GetQINiuTokenDto dto) { Mac mac = new Mac(ConfigManager.AppSettings["QiNiu:Key"], ConfigManager.AppSettings["QiNiu:SKey"]); = FileUploadBucketEnum.PRIVATE_BUCKET ? ConfigManager.AppSettings["QiNiu:privateBucket"] : ConfigManager.AppSettings["QiNiu:DefaultBucket"] }; putPolicy.SetExpires(3600); tải lên hình ảnh putPolicy.MimeLimit = "image/jpeg;image/png;audio/mpeg;"; use is 10 has putPolicy.FsizeLimit = 1024 * 1024 * 20; báo chuỗi = Auth.CreateUploadToken(mac, jstr); var fileKey = $"{dto.path}/{DateTime.Now:yyyyMMddHHmmss}{Guid.NewGuid()}" = mã thông báo, Tên tệp = fileKey } }

Get link tải ảnh Qiniuyun

Nhiều người có thể không biết sự khác biệt giữa không gian công cộng và không gian riêng của Qiniu Cloud dưới đây là phần giới tính. giới thiệu rút gọn.

Tải tệp xuống được chia thành tải tệp ở không gian công cộng và tải tệp ở không gian riêng.

do not public

Đối với không gian công cộng, các liên kết truy cập chủ yếu là để kết nối tên miền được liên kết với không gian (có có thể là mặc định tên miền của kho lưu trữ hoặc tùy chọn tên miền bị buộc phải xóa) với tệp tên trong không gian. cần phải được ghép nối trước khi liên kết, tên tệp được mã hóa url để tương thích với các ký tự khác nhau.

tên miền chuỗi = "http://if-pbl.qiniudn.com"; chuỗi khóa = "hello/world/Qiniu/test.png"; chuỗi publicUrl = DownloadManager.CreatePublishUrl(domain, key Console.WriteLine(publicUrl );

không có thời gian riêng tư

Đối với không gian riêng tư, trước tiên bạn cần xây dựng một truy cập liên kết không có công cộng tương thích với phương pháp thức truy cập tệp của công cộng không gian, sau đó thực hiện ký quyền riêng tư trên liên kết này.

Mac mac = Mac mới (AccessKey, SecretKey); tên miền chuỗi = "http://if-pri.qiniudn.com"; chuỗi khóa = "hello/world/Qiniu/test.png"; , 3600); Console.WriteLine(privateUrl);

Triển khai mã nguồn

Dựa trên giao diện chính ở trên, tác giả đã thực hiện một số gói đóng, mã hóa như sau:

///  /// Địa chỉ tải xuống phần chỉnh sửa hình ảnh của không gian riêng tư ///  ///  ///  public static String GetPrivateUrl(khóa chuỗi) { Chuỗi riêng tưUrl = String.Empty; thử { if (String.IsNullOrEmpty(key)) { return PrivateUrl } Mac mac = new Mac(ConfigManager.AppSettings["QiNiu:Key"], ConfigManager.AppSettings["QiNiu:SKey"]); // Chuỗi tên miền không gian công cộng miền = ConfigManager.AppSettings["QiNiu:privateUrl"]; ( mac, tên miền, khóa, 3600); //Console.WriteLine(privateUrl); } Catch (Ngoại lệ cũ) { LoggerHelper.LogError($"QiNiuHelper.GetPrivateUrl:{ex.Message}" } return PrivateUrl }
///  /// Địa chỉ tải xuống hình ảnh đầy đủ trong không gian công cộng ///  ///  ///  public static Chuỗi GetPublicUrl(khóa chuỗi) { Chuỗi publicUrl = String.Empty; thử { if (String.IsNullOrEmpty(key)) { return publicUrl } Mac mac = new Mac(ConfigManager.AppSettings["QiNiu:Key"], ConfigManager.AppSettings["QiNiu:SKey"]); miền chuỗi = ConfigManager.AppSettings["QiNiu:publicUrl"]; } bắt (Ngoại lệ cũ) { LoggerHelper.LogError($"QiNiuHelper.GetPublicUrl: {ex.Message}" } trở lại công khai }

Phần kết luận

Gần đây, tác giả đã được nhận theo yêu cầu thiết bị chuyển đường dẫn tải lên giấy phép kinh doanh và các liên kết chứng nhận tài liệu khác trong khách hàng thông tin từ không gian công cộng sang không gian riêng tư.

Điều này liên quan đến việc chuyển đổi một số dự án cũ. hơn về các ý tưởng tải lên và tải xuống của Qiniu Cloud.

Ở đây tác giả chỉ dựa trên kinh nghiệm làm việc của bản thân, một chút suy ngẫm và chia sẻ, rất hoan hào sự góp ý, sửa lỗi của mọi người.

2024.08.07.

Thành Đô.

tham khảo

  • "Qiniuyun C# SDK"
  • "Springboot tích hợp tải lên và tải xuống hình ảnh Qiniu Cloud"
  • "Mã nguồn phim tài liệu chiến đấu thực tế Springboot"

Nếu bạn muốn biết thêm về việc tải lên và tải xuống hình ảnh không gian riêng tư của Qiniu Cloud, vui lòng tìm kiếm các bài viết của CFSDN hoặc tiếp theo Tôi hy vọng tất cả các bạn sẽ ủng hộ tôi trong tương lai!

59 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress