tanakahdaのプログラマ手帳

プログラミングとかソフトウェア開発とかの備忘録

dropzone.jsでサーバーにアップロードした画像を削除@JavaScript

フロントエンド

Dropzone.options.myAwesomeDropzone = {
    ・・・ 省略 ・・・
    addRemoveLinks: true, // 削除リンクを表示する
    dictRemoveFile:'削除', // 削除リンクのラベルを設定
    /**
     * 削除リンクを押下したときの処理を実行する
     * @override
     */
    removedfile: function(file) {
      // サーバのファイルを削除
      $.ajax({
        url: "remove_image",
        type: "post",
        data: {image_dir: imageDir},
        cache: false,
        // 成功したらサムネイルを削除
        complete: function() {
          var _ref;
          if (file.previewElement) {
            if ((_ref = file.previewElement) != null) {
              _ref.parentNode.removeChild(file.previewElement);
            }
          }
          //return this._updateMaxFilesReachedClass();
          return;
        },
        error: function() {
          alert("画像の削除に失敗しました。");
        }
      });
    },
};

サーバーサイド

router.post('/remove_image', function(req, res) {
  var fs = require('fs-extra');
  var dir = req.body.image_dir;
  fs.removeSync('public/uploads/images' + dir);
  res.end();
});