Переименуйте файл, который приходит от копирования / вставки (на стороне сервера или лицевой стороне) - PullRequest
0 голосов
/ 19 апреля 2019

В текстовой области люди могут вставлять картинки. Я справляюсь с этим с AngularJS, директивой ng-paste и этим фрагментом кода

ctrl.handlePaste = function(event) {
    if(event.clipboardData.items.length > 0) {
        for(var i = 0; i < event.clipboardData.items.length; i++) {
            var item = event.clipboardData.items[i]; // type: DataTransferItem
            if (item.type.indexOf("image") != -1) {
                file = item.getAsFile(); // type: File
                // it's then stored in a array and will be sent to the server
                break;
            }
        }
    }
}

Затем я отправляю его на свой сервер Flask (Python 2.7), а затем он отправляется по электронной почте или отправляется через API в другой сервис.

На стороне сервера я проверил тип, и это Flask FileStorage.

Моя проблема: этот файл автоматически называется «image.png» (я использую Chrome), и я не могу найти способ изменить это имя во время процесса.

Я в порядке с изменением его на лицевой стороне (мой любимый вариант), я тоже в порядке на стороне сервера.

1 Ответ

0 голосов
/ 19 апреля 2019

Если в коде используется API formData , имя файла является третьим (необязательным) аргументом метода formdata.append .Если код отправляет изображение в виде blob с XHR send , имя файла может быть отправлено в параметре запроса или в Content-Disposition заголовке.

...