欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

Python基礎教程:Flask上傳文件(包含中文)保存后亂碼問題解決


Flask是支持文件上傳的,  近來做了一個上傳SQL文件的功能, SQL中會使用到中文, 泰文, 馬來西亞文等多種語言, 

你所需要的網(wǎng)站建設服務,我們均能行業(yè)靠前的水平為你提供.標準是產(chǎn)品質量的保證,主要從事成都網(wǎng)站建設、成都網(wǎng)站設計、企業(yè)網(wǎng)站建設、成都做手機網(wǎng)站、網(wǎng)頁設計、成都品牌網(wǎng)站建設、網(wǎng)頁制作、做網(wǎng)站、建網(wǎng)站。成都創(chuàng)新互聯(lián)擁有實力堅強的技術研發(fā)團隊及素養(yǎng)的視覺設計專才。

我們通過Flask接收到文件, 先把文件保存在后端, 保存后卻發(fā)現(xiàn)是亂碼.

from flask import request

from werkzeug.utils import secure_filename

@app.route('/upload', methods=['GET', 'POST'])

def upload_file():

    if request.method == 'POST':

        f = request.files['the_file']

        f.save('/var/www/uploads/' + secure_filename(f.filename))

    ...

通過上面一段代碼接收并保存中文文件會亂碼的.

如何解決呢?

首先考慮亂碼是如何產(chǎn)生的呢, 兩種不同的編碼方式導致的.

通過Python的chardet模塊的detect方法可以獲取到字符串的編碼方式

file = request.files.get('file')

sql_content = file.read()

encoding = chardet.detect(sql_content)['encoding']

我的項目中獲取的編碼方式是GB2312編碼

解決編碼錯亂的問題就是先正確解碼, 再重新編碼, 本項目中是先用GB2312解碼, 然后用UTF-8編碼. 如下:

sql_content = sql_content.decode('GB2312').encode('utf-8')

上面重新編碼后的sql_content的再重新寫入文件對象, 然后保存就解決了中文亂碼的問題.

file.truncate()

file.seek(0)

file.write(sql_content)

file.save('test.sql')

后臺之間保存文件的亂碼問題解決后, 我們通過MINIO的SDK上傳的亂碼問題也迎刃而解.

代碼全覽:

# 文件上傳接口

class DBTaskSQLFile(Resource):

    # 新建文件

    def post(self):

        file = request.files.get('file')

        file.seek(0)

        sql_content = file.read()

        encoding = chardet.detect(sql_content)['encoding']

        sql_content = sql_content.decode(encoding).encode('utf-8')

        file.truncate()

        file.seek(0)

        file.write(sql_content)

        file.seek(0)

        # SQL文件上傳至文件服務器

        try:

            pass

        except Exception as err:

            print('[MINIO]:', err)

            return jsonify(code=1, msg='SQL文件上傳至文件服務器時失敗')

        return jsonify(code=0, msg='Success')

文章名稱:Python基礎教程:Flask上傳文件(包含中文)保存后亂碼問題解決
瀏覽地址:http://aaarwkj.com/article44/pdpeee.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設計公司、網(wǎng)站營銷、網(wǎng)站內(nèi)鏈、ChatGPT、網(wǎng)站制作、外貿(mào)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設網(wǎng)站維護公司
亚洲精品自拍一二三四区 | 日韩女优中文字幕在线播放| 91在线免费观看日本| 最新欧美精品一区二区| 国产传媒网约在线观看| 国产第一页国产第一页| 免费的一区二区中文字幕| 后入式动漫在线观看| 国产黄色一区二区三区四区| 丁香六月色婷婷亚洲激情| 丰满人妻视频一二三区| 亚洲成人av福利网站| 日韩精品在线观看电影| 国产精品国产一级国产av| 欧美 成人一区二区三区| 黄色高清无遮挡在线观看| 少妇高潮视频在线观看| 欧美日本一区二区四区| 高清日韩精品视频在线观看| 国产姐弟操大率悠荡笕| 国产原创剧情av网址| 亚洲黄色片一区二区三区| 麻豆精品国产粉嫩av| 国产极品美女高潮抽搐| 中文字幕女同系列av厨房| 国产一区丝袜高跟在线| 不卡在线视频中文字幕| 中文字幕人妻中文av不卡专区| 国产精品美女丝袜久久久| 最近中文字幕免费手机版| 中文字幕人妻丝袜一区一三区| 中文字幕人妻丝乱一区三区| 日韩人妖视频在线观看| 成熟女人毛茸茸的视频| 日韩av一区二区在线| 三欲一区二区三区中文字幕| 亚洲欧美综合区丁香六月| 日韩三级视频一区二区| 禁止18岁以下的视频| 美日韩黄色大片免费看| 日本精彩视频一区二区|