在Django中修改文件扩展名

2024-05-23 17:04:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在做一个表单,将一些文件上传到我的系统,然后使用它。首先,上传文件工作正常,但当我想更改上传文件的扩展名时崩溃

下面我展示我的功能

from django.core.files.storage import FileSystemStorage
import os

def uploadKMZ(request):
    if request.method == 'POST':
        # Save the file updated
        uploaded_file = request.FILES['document']
        name = uploaded_file.name
        fs = FileSystemStorage()
        fs.save(uploaded_file.name, uploaded_file)

        # Modify the extension (NOT WORKING)
        thisFile = uploaded_file.name
        name, ext = os.path.splitext(thisFile)
        os.rename(thisFile, name + ".zip")


    return render(request, 'data_app/kmzTemplate.html')

错误是FileNotFoundError,如果文件相同,为什么不创建它,而只是更改扩展名

多谢各位


Tags: 文件thenamefromimport功能表单os
1条回答
网友
1楼 · 发布于 2024-05-23 17:04:24

保存文件之前是否尝试过修改扩展名?
我没有尝试下面的代码,但是if感觉更明智。试试看

from django.core.files.storage import FileSystemStorage
import os

def uploadKMZ(request):
    if request.method == 'POST':
        # Save the file updated
        uploaded_file = request.FILES['document']
        name, ext = os.path.splitext(uploaded_file.name)
        new_name = name + '.zip'
        fs = FileSystemStorage()
        fs.save(new_name, uploaded_file) 

    return render(request, 'data_app/kmzTemplate.html')

相关问题 更多 >