【问题标题】:fine upload validation set精细上传验证集
【发布时间】:2014-02-22 10:42:22
【问题描述】:

我正在使用Fine Upload-Plugin

我想将 .docx 文件上传到我的应用程序...仅 .docx 文件。

当然,这很容易通过查询来处理,例如

if (extension == "docx") 
 upload something

但我看到一个字段,您可以在其中指定数据类型,如“所有类型”或“所有图像”。

我可以在哪里添加/操作此验证?

我尝试了acceptFiles-options,但这只会阻止上传。 我想让用户只显示 .docx 文件。

HTML 代码:

<div id="manual-fine-uploader"></div>
   <div id="triggerUpload" class="btn btn-primary" style="margin-top: 10px;display:none">
   <i class="icon-upload icon-white"></i> Datei einfügen
</div>
<div id="uploadNewFile"></div>

JS-代码

$("#uploadNewFile").fineUploader({
    element: document.getElementById('manual-fine-uploader'),
    request: {
        endpoint: 'Upload.aspx'
    },
    autoUpload: true,
    //Part, that may be important
    ///MEME-Type: docx
    acceptFiles: "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
    allowedExtensions: ["docx"],
    //Endpart
    maxConnections: 1,
    multiple: false,
    chunking: {
        enabled: true
    },
    resume: {
        enabled: true
    },
    text: {
        uploadButton: 'Datei hochladen'
    }
});

编辑:

也许问题不够清楚:

我需要选择文件对话框中的特定过滤器。

像标准的“仅图像”或“所有类型”等。

如何添加这种过滤器?

Here you see the select

【问题讨论】:

  • 虽然您可以在客户端验证扩展,但它并不完全可靠。您最好在服务器端也验证文件
  • 编辑了一张图片的链接

标签: javascript validation types fine-uploader


【解决方案1】:

您的allowedExtensionsacceptFiles 选项位置不正确。您的代码应如下所示:

$("#uploadNewFile").fineUploader({
    element: document.getElementById('manual-fine-uploader'),
    request: {
        endpoint: 'Upload.aspx'
    },
    validation: {
        acceptFiles: "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
        allowedExtensions: ["docx"]
    },
    maxConnections: 1,
    multiple: false,
    chunking: {
        enabled: true
    },
    resume: {
        enabled: true
    },
    text: {
        uploadButton: 'Datei hochladen'
    }
});

更多详情请参阅validation option in the documentation,以及validation feature page

此外,如果您使用的是 Fine Uploader 4.x,则 text.uploadButton 选项已作为模板重新设计的一部分被删除。在 4.x 及更高版本中,您可以在标记中声明的模板中指定按钮名称等。

最后,我从您的配置中删除了autoUpload 选项,因为您将其设置为默认值。这种情况下不需要声明。

【讨论】:

  • 此更改会在我不需要的错误文件的情况下创建警报。我检查了aspx中的扩展名。我需要一个过滤器来选择 docx 文件。
  • 然后您可以覆盖showMessage option,或者不使用validation 选项,而是通过validatevalidateBatch 事件处理程序自己验证文件。有关详细信息,请参阅文档。
猜你喜欢
  • 2021-07-27
  • 1970-01-01
  • 1970-01-01
  • 2015-06-21
  • 1970-01-01
  • 2013-11-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多