【发布时间】:2021-12-04 10:19:38
【问题描述】:
我已经为此苦苦挣扎了几天。我不知道为什么它一直说我的文件不是一种 blob。有什么帮助吗?
下面是 HTML
<form style="padding-top:10px;" method="post" action="upload.php" enctype="multipart/form-data">
<input style="padding-bottom: 20px;" type="file" id="file" name="file" onchange="fileValidation(this);">
<div id="responsefromfileupload" value=""></div>
</form>
以下是 JAVASCRIPT
function fileValidation(reader) {
var file = $("input[type=file]").get(0).files[0];
var fileInput = document.getElementById('file');
var filePath = fileInput.value;
// Allowing file type
var allowedExtensions =
/(\.jpg|\.jpeg|\.png|\.gif)$/i;
if (!allowedExtensions.exec(filePath)) {
$("#responsefromfileupload").replaceWith(`<div style="width: 50%;" class="alert alert-danger" role="alert">
This image file type is not accepted!</div>`);
}
if (allowedExtensions.exec(filePath)) {
var reader = new FileReader();
reader.onload = function () {
$("#previewImg").attr("src", reader.result);
$("#previewImg").attr("margin-left", "25%");
}
}
reader.readAsDataURL(file);
}
【问题讨论】:
-
尝试将 fileValidation(this) 替换为 fileValidation(event)。在 fileValidation 中将 reader 重命名为 event 并检查 readAsDataURL 中的 event.target.files[0]。如果您创建一个可运行的示例,可能更容易获得帮助
-
@DraganS 我是新手,如何制作可运行的示例?
-
请检查我的帖子 - 稍微更改了您的原始代码。
标签: javascript html file blob