Я использую npm express, body-parser и ms sql в Node JS, и я пытаюсь найти способ создать форму, подобную этой:
<form action="/" method="POST">
Id<input class="form-control" type="number" step=any name="id" placeholder="id">
<br>
Image
<input class="form" type="file" name="image">
<button class="btn btn-lg btn-primary btn-block">metalo!</button>
</form>
, что позволит мне сохранить изображение с его идентификатором в SQL server 2012.
Для отправки запроса я делаю следующее:
app.post("/", function(req, res){
//var query = `INSERT INTO myimages (id) VALUES ('${req.body.id}')`;
var query = `INSERT INTO myimages VALUES ('${req.body.id}',(SELECT * FROM OPENROWSET(BULK N'${req.body.image}', SINGLE_BLOB) as T1))`;
//console.log(query)
executeQuery (res, query);
})
Сообщение об ошибке I get is:
сообщение: «Невозможно выполнить массовую загрузку. Файл "Screenshot_20190421-125051.png" не существует. '
Специальные примечания:
1. причина оператора openrowset в SQL потому что я должен использовать подобное утверждение для вставки изображений на сервер SQL, например:
INSERT INTO myimages values (1, (SELECT * FROM OPENROWSET(BULK N'D:\Google Drive\Pictures\20190501_102004.jpg', SINGLE_BLOB) as T1))
2. ExecuteQuery работает, если я использую цифры или текст, но, очевидно, не с изображениями .