日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

开源文件服务器file-service介绍

發布時間:2023/12/4 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 开源文件服务器file-service介绍 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

File-service

一個基于ASP.NET Core的可伸縮、通用的文件服務器。
通常后端項目可能會有頭像、圖片、音頻、視頻等上傳/下載需求,這些需求都可以抽象為文件服務。

功能特點

  • 支持Linux(推薦)、Windows

  • 可伸縮式架構,支持部署1-N臺文件服務器

  • RESTful架構的API接口,支持多語言客戶端

  • 支持文件秒傳、斷點續傳、遠程拉取上傳

  • 支持為用戶指定磁盤空間配額

  • 支持自定義文件處理器

項目地址

https://github.com/md-frank/file-service

系統架構

  • 文件的上傳/下載通常由客戶端直接與文件服務器交互,上傳時需要提供代表用戶身份token(由業務服務器生成),成功后會返回文件根地址。

  • 也可以直接由業務服務器上傳返回文件根地址給客戶端。

  • 源碼中包含基于.Net Standard的服務端SDK,可以生成token、上傳文件等

  • 源碼中包含基于.Net Standard的客戶端SDK,可以上傳/下載文件等

后端使用

配置業務服務器

//Startup.cs代碼片段public void ConfigureServices(IServiceCollection services) { ? ?//....services.AddFileService(opts =>{opts.Host = "fs.mondol.info"; //文件服務器域名opts.AppSecret = "xxxxxx"; //加密密鑰,需要與文件服務器相同}); }

生成訪問令牌

IFileServiceManager fileSvceMgr; //此實例可通過DI框架獲得//根據業務規定其意義,例如:1-代表管理員,2-代表用戶var ownerType = 2;var ownerId = 2; //如果ownerType=2,則為用戶IDvar validTime = TimeSpan.FromDays(2); //token有效期var ownerToken = fileSvceMgr.GenerateOwnerTokenString(ownerType, ownerId, validTime);

前端使用

文件上傳

IFileServiceClient fileClient; //此實例可通過DI框架獲得var ownerToken = "業務服務器返回的token";var periodMinute = 0; //有效期,0不過期var updResult = await fileClient.UploadAsync(ownerToken, "文件路徑", periodMinute);var url = updResult.Data.Url; //得到文件根地址

URL格式說明

完整URL格式是這樣的:https://domain.com/{fileToken}/{handler}/{modifier}
fileToken:是本次上傳文件的唯一標識符
handler:文件處理器,可以是image(圖片處理器)、video(視頻處理器)、raw(返回原文件)等
modifier:【可選】文件處理器參數,例如,image處理器,可以指定128x128_png

文件上傳成功后返回的文件根地址(updResult.Data.Url)就是截至到https://domain.com/{fileToken},URL后面部分由客戶端自己去拼接

下面舉例說明:

下載原文件
文件根地址/raw,例如:
http://file.domain.com/files/1iYQTU7fEUgaa~URSVwaCqQKFml_IAAAAAgAAAAbhmsFjiUUQwCPn2ngI1QcvsSp0AA/raw

下載128x128大小的縮略圖(原文件是圖像)
文件根地址/image/128x128,例如:
http://file.domain.com/files/1iYQTU7fEUgaa~URSVwaCqQKFml_IAAAAAgAAAAbhmsFjiUUQwCPn2ngI1QcvsSp0AA/image/128x128

下載128寬,高等比縮放的縮略圖(原文件是圖像)
文件根地址/image/128x,例如:
http://file.domain.com/files/1iYQTU7fEUgaa~URSVwaCqQKFml_IAAAAAgAAAAbhmsFjiUUQwCPn2ngI1QcvsSp0AA/image/128x

原圖是JPG格式,下載png格式的圖像
文件根地址/image/raw_png,例如:
http://file.domain.com/files/1iYQTU7fEUgaa~URSVwaCqQKFml_IAAAAAgAAAAbhmsFjiUUQwCPn2ngI1QcvsSp0AA/image/raw_png

原圖是JPG格式,下載png格式的128x128大小的縮略像
文件根地址/image/128x128_png,例如:
http://file.domain.com/files/1iYQTU7fEUgaa~URSVwaCqQKFml_IAAAAAgAAAAbhmsFjiUUQwCPn2ngI1QcvsSp0AA/image/128x128_png

原文地址:https://www.cnblogs.com/mondol/p/file-service.html

.NET社區新聞,深度好文,歡迎訪問公眾號文章匯總 http://www.csharpkit.com

總結

以上是生活随笔為你收集整理的开源文件服务器file-service介绍的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。