91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Flask與Django文件上傳處理

發布時間:2024-11-14 16:36:00 來源:億速云 閱讀:80 作者:小樊 欄目:編程語言

Flask和Django都是Python Web框架,它們都支持文件上傳處理。這里分別為你介紹這兩個框架的文件上傳處理方法。

  1. Flask文件上傳處理:

在Flask中,你可以使用request.files對象來處理上傳的文件。以下是一個簡單的Flask文件上傳示例:

from flask import Flask, request
from werkzeug.utils import secure_filename
import os

app = Flask(__name__)
UPLOAD_FOLDER = 'path/to/upload/folder'
ALLOWED_EXTENSIONS = {'txt', 'pdf', 'png', 'jpg', 'jpeg'}

app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER

def allowed_file(filename):
    return '.' in filename and filename.rsplit('.', 1)[1].lower() in ALLOWED_EXTENSIONS

@app.route('/upload', methods=['POST'])
def upload_file():
    if 'file' not in request.files:
        return 'No file part', 400
    file = request.files['file']
    if file.filename == '':
        return 'No selected file', 400
    if file and allowed_file(file.filename):
        filename = secure_filename(file.filename)
        file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
        return 'File uploaded and saved.', 200
    else:
        return 'Invalid file type.', 400

if __name__ == '__main__':
    app.run()

在這個示例中,我們首先定義了一個upload_file視圖函數,它處理POST請求中的文件上傳。我們使用request.files對象檢查請求中是否包含文件,然后檢查文件名是否為空。如果文件存在且類型允許,我們將其保存到指定的上傳文件夾中。

  1. Django文件上傳處理:

在Django中,你可以使用request.FILES對象來處理上傳的文件。以下是一個簡單的Django文件上傳示例:

from django.http import JsonResponse
from django.views.decorators.csrf import csrf_exempt
import os

UPLOAD_FOLDER = 'path/to/upload/folder'
ALLOWED_EXTENSIONS = {'txt', 'pdf', 'png', 'jpg', 'jpeg'}

def allowed_file(filename):
    return '.' in filename and filename.rsplit('.', 1)[1].lower() in ALLOWED_EXTENSIONS

@csrf_exempt
def upload_file(request):
    if request.method == 'POST':
        if 'file' not in request.FILES:
            return JsonResponse({'error': 'No file part'}, status=400)
        file = request.FILES['file']
        if file.name == '':
            return JsonResponse({'error': 'No selected file'}, status=400)
        if file and allowed_file(file.name):
            filename = os.path.join(UPLOAD_FOLDER, file.name)
            with open(filename, 'wb+') as destination:
                for chunk in file.chunks():
                    destination.write(chunk)
            return JsonResponse({'message': 'File uploaded and saved.'}, status=200)
        else:
            return JsonResponse({'error': 'Invalid file type.'}, status=400)
    else:
        return JsonResponse({'error': 'Invalid request method.'}, status=400)

在這個示例中,我們首先定義了一個upload_file視圖函數,它處理POST請求中的文件上傳。我們使用request.FILES對象檢查請求中是否包含文件,然后檢查文件名是否為空。如果文件存在且類型允許,我們將其保存到指定的上傳文件夾中。

注意:在這個示例中,我們使用了@csrf_exempt裝飾器來禁用CSRF保護。在實際項目中,你可能需要考慮如何正確處理CSRF保護。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

克东县| 霍林郭勒市| 同心县| 砀山县| 延川县| 克山县| 津市市| 安丘市| 安岳县| 内乡县| 河北省| 阿拉善盟| 苗栗县| 中卫市| 福州市| 高平市| 赫章县| 太和县| 丹巴县| 定州市| 洛宁县| 靖远县| 岱山县| 甘泉县| 镇原县| 巧家县| 伊通| 景谷| 武安市| 定边县| 祥云县| 保靖县| 平乐县| 新昌县| 沭阳县| 富民县| 南川市| 桐乡市| 同德县| 潢川县| 彭阳县|