Как даже загрузить изображение в почтальон из sql? - PullRequest
0 голосов
/ 05 января 2020

В настоящее время я пытаюсь получить изображение, которое я сохранил в sql после того, как я поместил свое изображение в sql. Я установил свой путь в sql для блоба, чтобы он сохранял данные в двоичном виде. Я попытался отобразить изображение в sql, и это сработало. Однако я понятия не имею, как даже получить изображение из Почтальона, используя метод GET.

Мое приложение. js файл:

var fs= require('fs');
var bodyParser = require('body-parser');
var urlencodedParser = bodyParser.urlencoded({ extended: false });
var path = require('path');
var multer = require('multer');
var storage = multer.diskStorage({
    destination: function (req, file, callback) {
        callback(null, './uploads');
    },
    filename: function (req, file, callback) {
        callback(null, path.basename(file.originalname));
    }
});
const uploadJs = require('../model/upload')
var db = require('../model/databaseConfig')

app.get("/upload/:id/listings", function (req, res, next) {
    var id = req.params.id;
    uploadJs.get_user_by_id(id, (error, results) => {
        if(error) {
            res.status(500).send('Something is wrong!');
        }
        res.status(200).send(results)
    })
});

Моя загрузка Js файл:

var db = require('./databaseConfig.js');
var fs= require('fs');
fs.readFile(???)< --- i have no idea how to implement the entire thing into here 

// my current const upload to get the user details and the image from sql
const upload = {
    get_user_by_id: function (upload_id, callback) {
      var sql = 'SELECT u.id,u.name,u.encoding,u.destination,u.path,u.type,u.size,u.updated_at,l.title,l.description,l.price,l.fk_poster_id FROM upload u INNER JOIN listings l ON l.id = ? ;';
      db.query(sql,upload_id, (error, results) => {
        if (error) {
          callback(error, null);
          return;
        };
        callback(null, results);
      });
    }
}

module.exports = upload;

Мой sql код:

CREATE TABLE `upload` (
  `id` INT AUTO_INCREMENT PRIMARY KEY,
  `name` varchar(255) NOT NULL,
  `encoding` text NOT NULL,
  `destination` text NOT NULL,
  `path` BLOB,
  `type` varchar(100) NOT NULL,
  `size` int(11) NOT NULL,
  `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `fk_upload_id` INT NOT NULL,
  KEY fkUploadID (`fk_upload_id`),
  CONSTRAINT FOREIGN KEY (`fk_upload_id`) REFERENCES listings(id) ON DELETE NO ACTION ON UPDATE CASCADE
) ENGINE=InnoDB;
...