Сохраните файл на SQL сервере с использованием React и Node.js - PullRequest
0 голосов
/ 23 января 2020

У меня проблема. Мне нужно сохранить файл на SQL сервере , используя Node.js в качестве бэкэнда и React. js в качестве внешнего интерфейса, но не знаю как сделать это. На самом деле, у меня есть опыт работы с Multer, но мне строго необходимо сохранить файл в SQL DB. Я пытался, но он хранит только несколько байтов в БД вместо полного файла.

Также, пожалуйста, дайте мне знать, как мы можем получить доступ к файлам из БД и загрузить их в браузер, когда пользователь нажимает «Скачать».

Примечание: Я получаю доступ к файлу в виде капли

// Frontend Action

   this.props.postNewAccountAttachment({
      acta_act_key: '598806',
      acta_file_name: this.state.fileName,
      acta_description: this.state.description,
      acta_attachment: this.state.attachment,
   });
//Backend API Services
async postAccountAttachment(attachmentBody) {
    const attachment = await this.models.account_attachments.create(
      attachmentBody
    );
    return attachment;
  }

1 Ответ

0 голосов
/ 23 января 2020

Согласно моим знаниям и опыту, вам не следует хранить фактический файл в SQLDB, вместо этого загрузите файл в отдельную папку на сервере и сохраните информацию о файле в базе данных.

т.е. (имя файла, тип, размер)

Для сохранения информации о файле в БД:

 var sql = "INSERT INTO `file`(`name`, `type`, `size`) VALUES ('" + req.file.filename + "', '"+req.file.mimetype+"', '"+req.file.size+"')";

 var query = db.query(sql, function(err, result) {
       console.log('File Information Saved');
 });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...