我想知道是否可以使用ajax将图像上传到request.files中的烧瓶服务器,方法是在表单中键入url。这是我目前的表单设置:
<form method=post enctype=multipart/form-data runat="server" id="capture_form">
<div class="form-group">
<label for=facesURL>URL:</label>
<input type="text" name="image_url" class="form-control" id=facesURL placeholder="URL of image">
<input type="submit" value="Preview URL image" id="submit">
</div>
<button align="center" class="btn btn-info upload-image" id=upload-image type=submit value="Upload Image">Upload File</button>
目前,预览网址图片按钮会将网址中的图片显示为一个,但是我实际上只是抓住了src并在点击上传图片按钮时将其上传。任何帮助表示赞赏。
答案 0 :(得分:0)
如果用户指定了URL,那么让服务器从指定的URL本身(在后端)下载图像可能更有意义,而不是试图让网页下载并直接发送图像。 / p>
这是一个粗略的(未经测试的)视图函数,它显示了您的代码可能最终看起来像:
@app.route('/submit_image', methods=['GET', 'POST'])
def submit_image():
# I'm assuming you're using the Flask-WTF module for your forms
form = SubmitImageForm()
if request.method == 'GET':
return render_template('submit_image.html', form=form)
elif request.method == 'POST':
if form.validate_on_submit():
path_to_save_image_to = '' # Fill this in
with open(path_to_save_image_to,'wb') as f:
f.write(urllib.request.urlopen(form.image_url.data, path_to_save_to).read())
return redirect(url_for('submission_successful'))
else:
return render_template('submit_image.html', form=form, error="Invalid submission")
的帮助下