Как загрузить изображение Blob в базу данных MySQL и отобразить его как URL -адрес объекта?MySql

Форум по Mysql
Ответить
Anonymous
 Как загрузить изображение Blob в базу данных MySQL и отобразить его как URL -адрес объекта?

Сообщение Anonymous »

Использование узла JS Multer Я загружаю изображение в базу данных в качестве капли. Это происходит из запроса javaScript ajax xmlhttp для выражения конечной точки JS. < /P>
index.html Загрузка запроса изображения < /p>
input.addEventListener('change', function () {
uploadIMagetoDatabase(input.files[0]);
getIMagefromDatabase(imgtag);
});

uploadIMagetoDatabase(image){
var data, xhr;
data = new FormData();
data.append('imageProfile',image);
xhr = new XMLHttpRequest();

xhr.open('POST', 'http://localhost:3000/upload', true);
xhr.onreadystatechange = function (response) {
// document.getElementById("result").innerHTML = xhr.responseText
};
xhr.send(data);
}
< /code>
express JS -база данных Hupload < /p>
router.post('/upload', upload.single('imageProfile'),function(req,res){
const imageProfile = req.file;
var image=imageProfile;
var sql='Insert into Uploads (id,image) VALUES("2",cast("'+image+'" AS BINARY));';
connection.query(sql, function (err, data) {
if (err) {
// some error occured
console.log("database error-----------"+err);
} else {
// successfully inserted into db
console.log("database insert sucessfull-----------");
}
});
});
< /code>
Таким образом, в соответствии с моими знаниями изображение успешно загружается как Blob в базу данных MySQL.router.get('/getimage',function(req,res){

var sql = 'SELECT image FROM Uploads';

connection.query(sql, function (err, data) {
if (err) {
// some error occured
console.log("database error-----------"+err);
} else {
// successfully inserted into db
console.log("database select sucessfull-----------"+data.length);
res.json({'image':data[0].image});
}

});
});
< /code>
index.html Показать базу данных из Express Js конечной точки в качестве URL объекта < /p>
getIMagefromDatabase(imgtag){
$.get("http://localhost:3000/getimage",function(data,status){

console.log("data---"+JSON.stringify(data));
let url = URL.createObjectURL( new Blob([data["image"]], { type: 'image/jpeg'
}))
imgtag.src=url;

});
}
< /code>
json ответ на изображение Blob < /p>
{"image":{"type":"Buffer","data":
[91,111,98,106,101,99,116,32,79,98,106,101,99,116,93]}}
< /code>
Узел JS Multer req.file < /p>
{
fieldname: 'imageProfile',
originalname: 'picture_orig.jpg',
encoding: '7bit',
mimetype: 'image/jpeg',
destination: 'uploads/',
filename: '7b62ab418013514bab9ba43327fa171c',
path: 'uploads/7b62ab418013514bab9ba43327fa171c',
size: 34117
}
< /code>
Это изображение не отображается в виде объекта в index.html. Что -то неправильное, что здесь сделано?

Подробнее здесь: https://stackoverflow.com/questions/796 ... object-url
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «MySql»