摘要:地址使用實(shí)現(xiàn)的一個(gè)簡單的圖片上傳服務(wù)設(shè)計(jì)初衷對于圖片的存儲有很多選擇一般采用云服務(wù)如七牛又拍等但是國內(nèi)的服務(wù)像七牛自定義域名竟然需要域名備案當(dāng)初就是因?yàn)閭浒嘎闊┎胚x擇國外的而且浪費(fèi)了我十塊錢而我又想像七牛一樣可以直接在本地就可以上傳圖片找
GitHub地址: https://github.com/honmaple/maple-file
設(shè)計(jì)初衷使用flask實(shí)現(xiàn)的一個(gè)簡單的圖片上傳服務(wù)
對于圖片的存儲,有很多選擇,一般采用云服務(wù)如(七牛,又拍等),但是國內(nèi)的服務(wù)像七牛
自定義域名竟然需要域名備案(Excuse me,當(dāng)初就是因?yàn)閭浒嘎闊┎胚x擇國外的),而且浪費(fèi)了我十塊錢,
而我又想像七牛一樣可以直接在本地就可以上傳圖片,找來找去,沒有找到一個(gè)比較合適的,所以花兩天時(shí)間自己寫了一個(gè)
使用由于初衷是本地腳本就可以發(fā)布,所以沒有前端界面,等以后有時(shí)間了再加上
API
/api/login
POST
登錄
/api/logout
GET
注銷
/api/albums
GET
獲取相冊列表
POST
新建相冊
name 相冊名稱
description 相冊描述
/api/albums/
pk 相冊ID
GET
獲取相冊信息
PUT
修改相冊信息
name 相冊名稱
description 相冊描述
DELETE
刪除相冊
/api/images
GET
獲取圖片列表
POST
上傳圖片
images 上傳圖片列表
album 相冊ID(默認(rèn)會新建一個(gè)default相冊)
/api/images/
GET
獲取圖片信息
PUT
修改圖片信息
name 圖片名稱
description 圖片描述
DELETE
刪除圖片
class Config(object): DEBUG = True # 生產(chǎn)環(huán)境設(shè)置為False SECRET_KEY = "ccc" # import os;os.urandom(24) SECRET_KEY_SALT = "ssss" JSON_AS_ASCII = False PERMANENT_SESSION_LIFETIME = timedelta(days=3) PER_PAGE = 10 # 分頁 ADMIN_URL = "/admin/aaaaa" # 后臺地址 LOGIN_TOKEN_HEADER = "Api-Key" # 將會影響到后面headers設(shè)置 LOGIN_TOKEN = "api_key" #url?api_key=21312313 MIDDLEWARE = ["storage.common.middleware.CommonMiddleware"] SQLALCHEMY_TRACK_MODIFICATIONS = False SQLALCHEMY_DATABASE_URI = "sqlite:///test.db" # SQLALCHEMY_ECHO = DEBUG UPLOAD_ALLOWED_EXTENSIONS = set(["png", "jpg", "jpeg"]) # 允許上傳的擴(kuò)展名 UPLOAD_FOLDER_ROOT = os.path.dirname(os.path.abspath(__file__)) UPLOAD_FOLDER_PATH = "images" # 相對于當(dāng)前文件路徑的地址 UPLOAD_FOLDER = os.path.join(UPLOAD_FOLDER_ROOT, UPLOAD_FOLDER_PATH)創(chuàng)建賬戶
python manager.py create_user
將同時(shí)創(chuàng)建一個(gè)default的相冊
python manager.py key
顯示用戶key
上傳上傳后圖片保存路徑
原圖路徑:
UPLOAD_FOLDER + "username" + "photo" + %Y + %m + (時(shí)間戳+隨機(jī)數(shù)).png
縮略圖路徑:
UPLOAD_FOLDER + "username" + "thumb" + %Y + %m + (時(shí)間戳+隨機(jī)數(shù)).pngexample
使用requests本地上傳
import requests def images(): url = "http://127.0.0.1:8000/api/images" files = {"images": open("desktop.png", "rb")} multiple_files = [ ("images", ("11.png", open("11.png", "rb"), "image/png")), ("images", ("desktop.png", open("desktop.png", "rb"), "image/png")) ] headers = { "Api-Key": "InhpeWFuZzA4MDdJBtx4AWlPpI_Oxx1Ki8", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.98 Safari/537.36" } # r = requests.post(url, files=multiple_files, headers=headers) r = requests.post(url, files=files, headers=headers) print(r.text)
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/38523.html
這是小程序開發(fā)第二篇,主要介紹如何上傳圖片到騰訊云,之所以選擇騰訊云,是因?yàn)轵v訊云免費(fèi)空間大? 準(zhǔn)備工作 上傳圖片主要是將圖片上傳到騰訊云對象存儲(COS)。 要使用對象存儲 API,需要先執(zhí)行以下步驟: 購買騰訊云對象存儲(COS)服務(wù) 在騰訊云 對象存儲控制臺 里創(chuàng)建一個(gè) Bucket 在控制臺 個(gè)人 API 密鑰 頁面里獲取 AppID、SecretID、SecretKey 內(nèi)容 編寫一個(gè)...
這是小程序開發(fā)第二篇,主要介紹如何上傳圖片到騰訊云,之所以選擇騰訊云,是因?yàn)轵v訊云免費(fèi)空間大? 準(zhǔn)備工作 上傳圖片主要是將圖片上傳到騰訊云對象存儲(COS)。 要使用對象存儲 API,需要先執(zhí)行以下步驟: 購買騰訊云對象存儲(COS)服務(wù) 在騰訊云 對象存儲控制臺 里創(chuàng)建一個(gè) Bucket 在控制臺 個(gè)人 API 密鑰 頁面里獲取 AppID、SecretID、SecretKey 內(nèi)容 編寫一個(gè)...
摘要:但是很多企業(yè)項(xiàng)目因?yàn)楦鞣N需求,還是會要求圖片服務(wù)部署在內(nèi)部。所以我們還是可能會需要一個(gè)可獨(dú)立部署的圖片服務(wù)。注意,這種啟動(dòng)模式僅限于測試環(huán)境下,一旦命令終止,數(shù)據(jù)將會消失。 多數(shù)應(yīng)用系統(tǒng)都會用到圖片存儲,從系統(tǒng)架構(gòu)角度來說,像圖片存儲這樣的服務(wù)應(yīng)該盡量從核心業(yè)務(wù)中剝離出來。很多人會選擇在線云存儲服務(wù),比如七牛云存儲之類的。但是很多企業(yè)項(xiàng)目因?yàn)楦鞣N需求,還是會要求圖片服務(wù)部署在內(nèi)部。所以...
摘要:但是很多企業(yè)項(xiàng)目因?yàn)楦鞣N需求,還是會要求圖片服務(wù)部署在內(nèi)部。所以我們還是可能會需要一個(gè)可獨(dú)立部署的圖片服務(wù)。注意,這種啟動(dòng)模式僅限于測試環(huán)境下,一旦命令終止,數(shù)據(jù)將會消失。 多數(shù)應(yīng)用系統(tǒng)都會用到圖片存儲,從系統(tǒng)架構(gòu)角度來說,像圖片存儲這樣的服務(wù)應(yīng)該盡量從核心業(yè)務(wù)中剝離出來。很多人會選擇在線云存儲服務(wù),比如七牛云存儲之類的。但是很多企業(yè)項(xiàng)目因?yàn)楦鞣N需求,還是會要求圖片服務(wù)部署在內(nèi)部。所以...
摘要:可以將稱為追蹤服務(wù)器或調(diào)度服務(wù)器。實(shí)際保存文件分為多個(gè)組,每個(gè)組之間保存的文件是不同的。虛擬磁盤路徑配置的虛擬路徑,與磁盤選項(xiàng)對應(yīng)。數(shù)據(jù)兩級目錄服務(wù)器在每個(gè)虛擬磁盤路徑下創(chuàng)建的兩級目錄,用于存儲數(shù)據(jù)文件。1.什么是FastDFS FastDFS是用 c 語言編寫的一款開源的分布式文件系統(tǒng)。FastDFS 為互聯(lián)網(wǎng)量身定制, 充分考慮了冗余備份、負(fù)載均衡、線性擴(kuò)容等機(jī)制,并注重高可用、高性能等...
閱讀 1424·2023-04-26 00:35
閱讀 2805·2023-04-25 18:32
閱讀 3479·2021-11-24 11:14
閱讀 831·2021-11-22 15:24
閱讀 1486·2021-11-18 10:07
閱讀 7000·2021-09-22 10:57
閱讀 2839·2021-09-07 09:58
閱讀 3622·2019-08-30 15:54