我正在尝试从输入中获取文件,并通过INSERT / UPDATE查询将它作为base64字符串上传到VARCHAR(MAX)列中的MSSQL表中
我可以从文件中获取base64字符串,并将其成功发送到服务器,但始终缺少大部分内容。我的意思是,当我使用在线转换器时,字符数增加了2.5倍。当我想从服务器上检索图像时,它缺少比率,看起来像张了很多
这是我的代码:
var blobs = []
var file = $(`#${keys[x]}`)[0].files[0];
if(values[x]) {
var reader = new FileReader();
reader.readAsDataURL(file)
reader.onloadend = function () {
blobs.push(reader.result.split(',')[1])
};
}
}
之后,我将blobs数组插入/更新为mssql:
....
else if(i >= 19 && i <= 28){
request.query(`UPDATE table SET ${keys[i]} = '${blobs[i - 19]}' where SOME_COLUMN = '${values[0]}'`)
request.on('recordset', columns => {
})
request.on('row', row => {
})
request.on('error', err => {
})
request.on('done', result => {
console.log(result.rowsAffected)
})
}
更新:我刚刚意识到console.log输出很好,即使使用
,我也无法将超过4096个字节上传到sqlSET TEXTSIZE xxx