Невозможно разделить преобразованный MIME-тип в JavaScript - PullRequest
0 голосов
/ 01 ноября 2019

Я использую следующий код для переименования файла, который был загружен на мой сервер node.js. Я получаю «mimetype» загруженного файла и преобразую его в строку, поэтому моя цель - «разбить» эту строку на обратную косую черту ('/'). Затем я смогу использовать «расширение» (то есть «jpg» или «gif» или «png» или что-то еще), чтобы создать новое имя файла. Моя проблема в том, что я продолжаю получать ошибку «Неожиданный токен», когда делаю «split» ... Я подтвердил, что mimetype был преобразован в строку ... поэтому я не могу спасти свою жизнь, чтобы понять, почему «split» делаетне работа...? Код такой:

  //A means of ensuring only images are uploaded.
  //'files' is an array of uploaded image files, omitted for clarity

   var len = files.length;
   var i;

   for (i = 0; i < len; i++) {

    if (files[i] != "undefined") {

    const host = req.hostname;
    const filePath = req.protocol + "://" + host + '/' + files[i].path;
    const image = files[i].mimetype.startsWith('image/');
    const type = files[i].mimetype.toString();  //convert mimetype to string

     if(image) {
     console.log('photo #' + i + ' uploaded');
     console.log('uploaded file: ' + files[i].filename + ' saved within: ' + files[i].destination + ' at path: ' + files[i].path);

     console.log('photo #' + i + ' filepath: ' + filePath);
     console.log('photo #' + i + ' image extension is: ' + type);  //returns 'image/jpg'
     console.log('photo #' + i + ' TYPEOF is: ' + typeof type);  //returns 'string'
     var extends = type.split("/");  //"split" on "backslash"  'UNEXPECTED TOKEN' ERROR HERE!!! 
     var targetPath = filePath + "." + extends[1]  //'extends[1]' should be jpg or png or whatever

     console.log('RENAMED target path for photo #' + i + ' is: ' + targetPath);

      fs.rename(filePath, targetPath, function(err) {
       if (err) {
        console.log("Unable to rename photo #" + i + " file...!")
       } else {
        console.log("Successfully renamed the file!")
       }
      }) 

     } else {
     console.log("file # " + i + " received--however wrong format");
     }

    }  //if NOT 'undefined'

   }  //for loop

Заранее благодарю за любые предложения ... это сводит меня с ума ...

1 Ответ

0 голосов
/ 01 ноября 2019

У меня есть пример с javascript (я не могу ответить в вашем ответе) введите описание изображения здесь

...