给出here的解决方案有助于异步上传文件。
当我更改它以包含文件和一些字符串数据时,我无法访问字符串和文件。
这是我到目前为止所做的:
@app.route('/upload', methods=['POST'])
def upload_file():
path = request.form.get('path')
print("PATH: ", path)
path = path or 'test_folder_2/' # Fallback
if request.method == 'POST':
files = request.files.getlist('files')
print("FILES: ", files)
filenames = [_ for _ in os.listdir(os.path.join('.', 'content', path ))]
for file in files:
if file and helpers.is_allowed_file(file.filename):
filename = helpers.get_name(file.filename, filenames)
file.save(os.path.join(app.config['UPLOAD_FOLDER'], path, filename))
return 'Done'
这是我在服务器上的观点:
<system.diagnostics>
<trace>
<listeners>
<clear/>
<listeners>
</trace>
</system.diagnostics>
这个的输出是:
路径:无
文件:[]
我尝试使用JSON.stringify()来发送数据,但这样做的文件似乎没有到达服务器。
FWIW这就是我要做的事情:从客户端接收一堆文件并将其存储在“路径”指定的文件中。
答案 0 :(得分:2)
有两种方法可以解决这个问题:
只需append
额外的键和值:
form_data.append("path", "test_folder_2/")
然后发送数据:
data: form_data
使用路径向表单添加隐藏字段,FormData
将为您执行此操作:
<input type="hidden" name="path" value="test_folder_2/">