【发布时间】:2021-01-01 22:47:09
【问题描述】:
您好,我是 JavaScript 和 Blazor 的新手 我正在尝试将剪贴板中的图片上传到我的网站,该图片将被转换为 blob,然后存储在我的数据库中。
我有这个 JavaScript 代码负责将图像粘贴到我的剃须刀页面中的元素:
(function () {
window.onload = function () {
document.getElementById('txtPaste').focus();
document.getElementById('txtPaste').onpaste = function (event) {
var items = (event.clipboardData || event.originalEvent.clipboardData).items;
console.log(JSON.stringify(items));
var blob = null;
for (var i = 0; i < items.length; i++) {
if (items[i].type.indexOf("image") === 0) {
blob = items[i].getAsFile();
}
}
if (blob !== null) {
var reader = new FileReader();
reader.onload = function (event) {
//console.log(event.target.result);
document.getElementById("imgPaste").src = event.target.result;
document.getElementById("hfByteData").value = event.target.result;
};
reader.readAsDataURL(blob);
}
alert(blob);
}
};
})();
这是它在我的剃须刀页面中的外观:
<textarea id="txtPaste" placeholder="Paste Image Here" style="height: 100px;"></textarea>
<img id="imgPaste" src="" />
<input type="hidden" name="hfByteData" id="hfByteData" runat="server"/>
public Image photo { get; set; }
我正在尝试从图像中检索数据,无论是图像还是 Base64 字符串,并将其放在代码中的变量中。如何让我粘贴的图像显示在 Image photo 中?
【问题讨论】:
-
我不知道这段代码是否正常工作,但你有没有像这样将你的 js 文件添加到 index.html 中:
<script src="xyzfile.js"></script>
标签: javascript asp.net blazor