最佳答案
我正在尝试创建一个控件,在这个控件中,您可以选择一个要在表单中提交的文件,并将一个文件放入其中以执行相同的操作。我有这样的东西,它也会显示一个预览的文件,如果它是一个图像:
<div class="preview-image-container">
<input type="file" name="File" id="File" accept="image/*"
class="image-url form-control" style="display:none;" />
<div class="preview-image-dummy"></div><img class="preview-image-url" />
<div class="preview-image-instruction">
<div class="preview-image-btn-browse btn btn-primary">Select file</div>
<p>or drop it here.</p>
</div>
</div>
用户删除 preview-image-container
中的文件。文件不是用 AJAX 提交的,用户需要提交包含更多数据的表单。
出于安全原因,我们不允许使用 JavaScript 更改输入文件的值。然而,我知道默认的输入文件支持可删除,并且有很多网站允许我们通过删除表单中的文件来选择文件,所以我猜想有一种方法可以做到这一点。
正如您可以从 MCVE 中看到的,我只对使用没有附加库的 JQuery 或纯 JavaScript感兴趣。
虽然可以使用 降落区 Js,但是它不符合我的要求,而且需要花费大量的时间来定制它的外观。此外,降落区 Js有一些在我的 ASP.NET 应用程序中无法满足的配置要求。
有一个类似的问题,但没有一个正确的答案: < br > < a href = “ https://stackoverflow.com/q/21983389/584192”> 如何将文件对象设置为 HTML 格式的输入文件?
也不类似于 拖放图像输入文件和预览之前上传,因为我已经实现了拖放和预览动作