摘要:地址使用實現的一個簡單的圖片上傳服務設計初衷對于圖片的存儲有很多選擇一般采用云服務如七牛又拍等但是國內的服務像七牛自定義域名竟然需要域名備案當初就是因為備案麻煩才選擇國外的而且浪費了我十塊錢而我又想像七牛一樣可以直接在本地就可以上傳圖片找
GitHub地址: https://github.com/honmaple/maple-file
設計初衷使用flask實現的一個簡單的圖片上傳服務
對于圖片的存儲,有很多選擇,一般采用云服務如(七牛,又拍等),但是國內的服務像七牛
自定義域名竟然需要域名備案(Excuse me,當初就是因為備案麻煩才選擇國外的),而且浪費了我十塊錢,
而我又想像七牛一樣可以直接在本地就可以上傳圖片,找來找去,沒有找到一個比較合適的,所以花兩天時間自己寫了一個
使用由于初衷是本地腳本就可以發布,所以沒有前端界面,等以后有時間了再加上
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(默認會新建一個default相冊)
/api/images/
GET
獲取圖片信息
PUT
修改圖片信息
name 圖片名稱
description 圖片描述
DELETE
刪除圖片
class Config(object): DEBUG = True # 生產環境設置為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設置 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"]) # 允許上傳的擴展名 UPLOAD_FOLDER_ROOT = os.path.dirname(os.path.abspath(__file__)) UPLOAD_FOLDER_PATH = "images" # 相對于當前文件路徑的地址 UPLOAD_FOLDER = os.path.join(UPLOAD_FOLDER_ROOT, UPLOAD_FOLDER_PATH)創建賬戶
python manager.py create_user
將同時創建一個default的相冊
python manager.py key
顯示用戶key
上傳上傳后圖片保存路徑
原圖路徑:
UPLOAD_FOLDER + "username" + "photo" + %Y + %m + (時間戳+隨機數).png
縮略圖路徑:
UPLOAD_FOLDER + "username" + "thumb" + %Y + %m + (時間戳+隨機數).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)
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/38523.html
這是小程序開發第二篇,主要介紹如何上傳圖片到騰訊云,之所以選擇騰訊云,是因為騰訊云免費空間大? 準備工作 上傳圖片主要是將圖片上傳到騰訊云對象存儲(COS)。 要使用對象存儲 API,需要先執行以下步驟: 購買騰訊云對象存儲(COS)服務 在騰訊云 對象存儲控制臺 里創建一個 Bucket 在控制臺 個人 API 密鑰 頁面里獲取 AppID、SecretID、SecretKey 內容 編寫一個...
這是小程序開發第二篇,主要介紹如何上傳圖片到騰訊云,之所以選擇騰訊云,是因為騰訊云免費空間大? 準備工作 上傳圖片主要是將圖片上傳到騰訊云對象存儲(COS)。 要使用對象存儲 API,需要先執行以下步驟: 購買騰訊云對象存儲(COS)服務 在騰訊云 對象存儲控制臺 里創建一個 Bucket 在控制臺 個人 API 密鑰 頁面里獲取 AppID、SecretID、SecretKey 內容 編寫一個...
摘要:但是很多企業項目因為各種需求,還是會要求圖片服務部署在內部。所以我們還是可能會需要一個可獨立部署的圖片服務。注意,這種啟動模式僅限于測試環境下,一旦命令終止,數據將會消失。 多數應用系統都會用到圖片存儲,從系統架構角度來說,像圖片存儲這樣的服務應該盡量從核心業務中剝離出來。很多人會選擇在線云存儲服務,比如七牛云存儲之類的。但是很多企業項目因為各種需求,還是會要求圖片服務部署在內部。所以...
摘要:但是很多企業項目因為各種需求,還是會要求圖片服務部署在內部。所以我們還是可能會需要一個可獨立部署的圖片服務。注意,這種啟動模式僅限于測試環境下,一旦命令終止,數據將會消失。 多數應用系統都會用到圖片存儲,從系統架構角度來說,像圖片存儲這樣的服務應該盡量從核心業務中剝離出來。很多人會選擇在線云存儲服務,比如七牛云存儲之類的。但是很多企業項目因為各種需求,還是會要求圖片服務部署在內部。所以...
摘要:可以將稱為追蹤服務器或調度服務器。實際保存文件分為多個組,每個組之間保存的文件是不同的。虛擬磁盤路徑配置的虛擬路徑,與磁盤選項對應。數據兩級目錄服務器在每個虛擬磁盤路徑下創建的兩級目錄,用于存儲數據文件。1.什么是FastDFS FastDFS是用 c 語言編寫的一款開源的分布式文件系統。FastDFS 為互聯網量身定制, 充分考慮了冗余備份、負載均衡、線性擴容等機制,并注重高可用、高性能等...
閱讀 1351·2023-04-26 00:35
閱讀 2721·2023-04-25 18:32
閱讀 3367·2021-11-24 11:14
閱讀 778·2021-11-22 15:24
閱讀 1424·2021-11-18 10:07
閱讀 6509·2021-09-22 10:57
閱讀 2780·2021-09-07 09:58
閱讀 3570·2019-08-30 15:54