Я пытаюсь загрузить pdf файлы на веб-сайт (Flask server), где идентификаторы форм - это имена файлов
Пример формы с id = 1, поэтому мне нужно загрузить "arquivos/1.pdf" к ней, я пытаюсь использовать scrapy.FormRequest.from_response, но когда я пытаюсь добавить данные multipart/form как Content -Type заголовок сервер не находит или не получает файл.
<title>Upload 1 new File</title>
<h1>Upload 1 new File</h1>
<form id=1 action="" method=post enctype=multipart/form-data>
<p><input type=file name=file>
<input type=submit value=Upload>
</form>
Код Scrapy
filename = '../arquivos/%s.pdf' % 1
with open(filename, mode='rb') as file:
yield scrapy.FormRequest.from_response(response, formid=1, formdata={'file': file, }, headers={'Content-Type': 'multipart/form-data'})
Флажок сервера
if request.method == 'POST':
print(request.headers)
print(request.files['file'])
file = request.files['file']
if file and allowed_file(file.filename):
filename = secure_filename(file.filename)
file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
return redirect(url_for('index'))
Когда я запускаю паук Scrapy, мой журнал сервера дает
Эта функциональность по- прежнему находится в PR, и я не мог найти ссылки на данные о нескольких частях в существующих документах Scrapy, которые соответствуют вашему опыту.
Не стесняйтесь голосовать за эту проблему, но в противном случае вам придется генерировать запрос вручную, предполагая, что Scrapy позволит публиковать "необработанный" орган запроса :-(