【发布时间】:2022-01-25 22:10:59
【问题描述】:
我想在我的数据库中保存一张 b64 格式的图像。出于某些原因,我想处理事物前端的逻辑。我的后端发送了一个表单,并且已经使用 onChange 函数封装了文件字段输入,该函数可以转换 img -> b64:
<form>
<input id="file-select" name="pic" class="form-control" type="file" onchange="getImage()">
<button>submit</button>
</form>
getImage() 看起来像这样:
function getImage() {
var reader = new FileReader();
var f = document.getElementById("file-select").files;
reader.onloadend = function () {
console.log(reader.result);
}
reader.readAsDataURL(f[0]);
}
如何将按下按钮时输入字段提交的内容替换为 reader.readAsDataURL(f[0]) 的值?
【问题讨论】:
-
base64 图像比原始图像大 1/4。将图像存储为 base64 字符串是不明智的。特地不进数据库表。将其保存为二进制文件,以
IMAGEHASH.EXT的形式保存到服务器文件夹中。在数据库中存储图像名称、扩展名、哈希和用户 ID。 -
我知道这一点,但我用它来存储图标(文件大小
-
我不确定是否理解您的问题:“如何将输入字段在按下按钮时提交的内容替换为”的值
-
我希望将 b64 字符串发送到后端,而不是 img 字段。
onchange函数创建了这个DataURL对象,我怎样才能将它发送到我的后端?
标签: javascript forms html-input