1

我正在使用 Bootstrap File-Input 在客户端选择一个文件,现在需要从该文件中获取一个 Base64 字符串并使用 AJAX 提交(要求页面不应重新加载,并且该回调应显示在文件中-输入窗口)。

我以前将它作为普通文件上传到服务器,但现在需要将 Base64 字符串存储到 DB(MS SQL 2019),所以我需要弄清楚如何:

  1. 获取 Base64 字符串。
  2. 使用 AJAX 提交字符串并获取 JSON 回调。

我在 google 和https://plugins.krajee.com/file-input上进行了搜索,以找到一些关于如何将其转换为 Base64 字符串以及 JSON 回调应该是什么样子的信息,但没有任何运气,并且有想出以下我的自我-但似乎不起作用:

output = "{""uploaded"":""File uploaded.""}"
Response.ContentType = "application/json"
Response.Write output

我有以下来自 File-Input 的“基本”脚本,它适用于我以前的脚本:

$("#input-fas").fileinput({
    theme: "fas",
    uploadUrl: "upload_profile.asp?FileName=<%=Request.Querystring("initials")%>",
    allowedFileExtensions: ['jpg'],
    overwriteInitial: false,
    maxFileSize:2000,
    maxFilesNum: 1,
    language: "da",
    browseOnZoneClick: true,
    initialPreviewShowDelete: 0,
    initialPreview: [
    "<img src='<%=ProfileImage%>' class='file-preview-image' alt='Nuværende' title='Nuværende' style='width: 75%'>",
],
// initial preview configuration
initialPreviewConfig: [
    {
        caption: 'Nuværende (<%=Request.QueryString("initials")%>.jpg)', 
        width: '120px', 
        frameAttr: {
            title: 'Nuværende',
        },
    }
],
})

并且未能将以下内容合并到上述脚本中,我认为这会给我所需的字符串:

var base64URL = fileinput.toDataURL('image/png').replace('image/png', 'image/octet-stream');
document.getElementById('input-fas').value = base64URL;
console.log(base64URL);

有人可以为我完成这项工作所遇到的上述两个问题指导我朝着正确的方向前进吗?

4

0 回答 0