国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

使用Python實現一個簡單的圖片上傳存儲服務

yzd / 1529人閱讀

摘要:地址使用實現的一個簡單的圖片上傳服務設計初衷對于圖片的存儲有很多選擇一般采用云服務如七牛又拍等但是國內的服務像七牛自定義域名竟然需要域名備案當初就是因為備案麻煩才選擇國外的而且浪費了我十塊錢而我又想像七牛一樣可以直接在本地就可以上傳圖片找

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 + (時間戳+隨機數).png

example

使用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 內容 編寫一個...

    why_rookie 評論0 收藏0
  • 小程序開發:上傳圖片到騰訊云

    這是小程序開發第二篇,主要介紹如何上傳圖片到騰訊云,之所以選擇騰訊云,是因為騰訊云免費空間大? 準備工作 上傳圖片主要是將圖片上傳到騰訊云對象存儲(COS)。 要使用對象存儲 API,需要先執行以下步驟: 購買騰訊云對象存儲(COS)服務 在騰訊云 對象存儲控制臺 里創建一個 Bucket 在控制臺 個人 API 密鑰 頁面里獲取 AppID、SecretID、SecretKey 內容 編寫一個...

    idisfkj 評論0 收藏0
  • 基于Minio和Thumbor搭建獨立圖片服務

    摘要:但是很多企業項目因為各種需求,還是會要求圖片服務部署在內部。所以我們還是可能會需要一個可獨立部署的圖片服務。注意,這種啟動模式僅限于測試環境下,一旦命令終止,數據將會消失。 多數應用系統都會用到圖片存儲,從系統架構角度來說,像圖片存儲這樣的服務應該盡量從核心業務中剝離出來。很多人會選擇在線云存儲服務,比如七牛云存儲之類的。但是很多企業項目因為各種需求,還是會要求圖片服務部署在內部。所以...

    novo 評論0 收藏0
  • 基于Minio和Thumbor搭建獨立圖片服務

    摘要:但是很多企業項目因為各種需求,還是會要求圖片服務部署在內部。所以我們還是可能會需要一個可獨立部署的圖片服務。注意,這種啟動模式僅限于測試環境下,一旦命令終止,數據將會消失。 多數應用系統都會用到圖片存儲,從系統架構角度來說,像圖片存儲這樣的服務應該盡量從核心業務中剝離出來。很多人會選擇在線云存儲服務,比如七牛云存儲之類的。但是很多企業項目因為各種需求,還是會要求圖片服務部署在內部。所以...

    jsyzchen 評論0 收藏0
  • FastDFS+Nginx搭建分布式圖片存儲

    摘要:可以將稱為追蹤服務器或調度服務器。實際保存文件分為多個組,每個組之間保存的文件是不同的。虛擬磁盤路徑配置的虛擬路徑,與磁盤選項對應。數據兩級目錄服務器在每個虛擬磁盤路徑下創建的兩級目錄,用于存儲數據文件。1.什么是FastDFS FastDFS是用 c 語言編寫的一款開源的分布式文件系統。FastDFS 為互聯網量身定制, 充分考慮了冗余備份、負載均衡、線性擴容等機制,并注重高可用、高性能等...

    CoderDock 評論0 收藏0

發表評論

0條評論

yzd

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<