我是新开发者。
我有多个步骤表单,我希望允许用户上传 Max of 2(例如 DROPZONE_MAX_FILE_SIZE= 3, PLOADED_PATH=os.path.join(base, 'doc Form'))
然后在表单的不同部分(步骤),我想允许用户上传更多具有不同配置的文件(例如 DROPZONE_MAX_FILE_SIZE=20, PLOADED_PATH=os.path.join(base, 'med'))
我尝试过的事情:
1 - 尝试在两个不同的 Div 中两次在相同的表单上插入 dropzone 并为每个提供自定义选项,包括不同的 URL 路由但没有工作(只有当我删除其中一个时才有效)我总是得到错误SECOND_PATH_URL_OR_FUNCTION is not defined
2 - 在单个页面中阅读此答案后,我已将 div 替换为表单并添加了自定义选项,其中每个 dropzone 在烧瓶中都有自己的功能
如果我DROPZONE_UPLOAD_ACTION='handle_upload'
从应用程序配置中删除并添加为自定义选项,我会在 chrome 的控制台上收到此错误No URL provided.
当我添加其中一个 URL 时,它是唯一有机会工作的 URL,因为我得到第二个错误,handle_upload2 is not defined
其中 handle_upload2 只是原始函数的副本,该函数称为 handle_upload,我已在配置选项中添加了它的 url。
似乎 custom_options 没有覆盖 app.config 详细信息
我很接近,但我不知道如何在同一页面中添加两个 URL,因此我可以运行一个函数脚本onclick
并在 Ajax 中发送所有数据,就好像它们是一种形式一样。
烧瓶文件当前应用程序配置选项:
UPLOADED_PATH=os.path.join(basedir, 'uploads'),
# Flask-Dropzone config:
DROPZONE_ALLOWED_FILE_TYPE='image',
DROPZONE_MAX_FILE_SIZE=3,
DROPZONE_MAX_FILES=30,
DROPZONE_IN_FORM=True,
DROPZONE_UPLOAD_ON_CLICK=True,
DROPZONE_UPLOAD_ACTION='handle_upload', # URL or endpoint
DROPZONE_UPLOAD_BTN_ID='uploadID',
Drop Zone 1 的自定义选项:
{{ dropzone.config(custom_init='dz = this;document.getElementById("uploadID").addEventListener("click", function handler(e) {dz.processQueue();});',
custom_options='autoProcessQueue: false, addRemoveLinks: true, maxFiles: 2,DROPZONE_UPLOAD_ACTION:handle_upload,') }}
对于放置区 2:
{{ dropzone.config(custom_init='dz2 = this;document.getElementById("uploadID").addEventListener("click", function handler(e) {dz2.processQueue();});',
custom_options='autoProcessQueue: false, addRemoveLinks: true, maxFiles: 2,DROPZONE_UPLOAD_ACTION:handle_upload2,') }}