Изменение расширения файла в django - PullRequest
0 голосов
/ 27 мая 2020

Я создаю форму для загрузки файлов в мою систему, а затем работаю с ней. Сначала загрузка файла работает нормально, но когда я хочу изменить расширение загруженного файла, происходит сбой.

Ниже я показываю свою функцию,

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, почему не создается, если файл такой же, а просто меняет расширение?

Большое спасибо!

1 Ответ

1 голос
/ 27 мая 2020

Вы пытались изменить расширение перед сохранением файла?
Я не пробовал использовать приведенный ниже код, но это кажется более разумным. Попробуйте.

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')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...