【问题标题】:Dropzone in react JS反应JS中的Dropzone
【发布时间】:2019-03-15 02:35:30
【问题描述】:

我愿意实现一个dropzone来上传图片和pdf文件。有两个文件字段按钮。一个应该只上传图片,另一个应该只上传pdf文件。

我给出的最好的镜头是:

myDropzone = new Dropzone("#drop-zone", {
        url: "/file/post",
        acceptedFiles: "image/*",
        init: function () {
            this.options.acceptedFiles = '.pdf'
        });

$('#add_custom_logo_button, #add_pdf_file_button').on('click', (e) => {
        e.preventDefault();
        component.setState({acceptFiles: $(this).data('file-accepts')});
    });

HTML 元素:

<div id="drop-zone" className="dropzone" data-file-accepts={this.state.acceptFiles}/>
<label class='control-label' for='add_custom_logo'>Custom Logo Image</label>
<button type='button'id='add_custom_logo_button' data-file-accepts="image/*"></button>
<div>
 <label class="control-label for="add_custom_logo" data-file-accepts="application/pdf">PDF File</label> 
 <label class="label-button" id="add_pdf_file_button">
   <span>Upload File </span>
 </label>
</div>

这里acceptFiles 是我提到的组件状态中的一个选项。 如何限制每个文件字段接受的文件类型?

【问题讨论】:

    标签: reactjs dropzone.js


    【解决方案1】:

    我认为您需要创建两个不同的 dropzone 区域,并根据您的要求将接受的文件分配给每个区域。只允许图像并考虑所有格式,我认为这个选项会更好。

    acceptedFiles: '.png,.jpg,.jpeg',
    

    希望对你有帮助。

    【讨论】:

    • 好的,所以基本上我需要为 dropzone 创建不同的组件来接受 pdf 文件?
    • 两个拖放区,在您的设置中,指定一个仅接受 pdf 和其他图像的区域。例如,留下一个接受 pdf 的模型,并为您的 dropzone 区域创建另一个模型,该区域将接受图像。我认为这将是解决问题的最佳方法。
    猜你喜欢
    • 2015-08-14
    • 2018-09-21
    • 2015-06-17
    • 1970-01-01
    • 1970-01-01
    • 2021-06-03
    • 2018-10-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多