401 несанкционированный доступ к узлам

#node.js #express #google-chrome-extension #routes #mean-stack

#node.js #выразить #google-chrome-расширение #маршруты #средний стек

Вопрос:

Я разрабатываю приложение на MEAN stack, которое может загружать изображение с диска в приложении, или мы можем отправить изображение с помощью расширения Chrome. Теперь я загрузил изображение с диска, но когда я пытаюсь отправить изображение с помощью расширения Chrome. По этому URL «http://localhost:9000/api/look/upload «; Выдает ошибку 401 несанкционированный

Я прикрепляю маршрут.js код, если какой-либо разработчик стека укажет мне, где именно ошибка? Я также загружу файл. Заранее благодарю вас

     /**
 * Main application routes
 */

'use strict';

var errors = require('./components/errors');
var auth = require('./auth/auth.service');
var path = require('path');

module.exports = function(app) {

  // Insert routes below
  app.use('/api/users', require('./api/user'));
  app.use('/auth', require('./auth'));

  app.use('/api/look', require('./api/look'));
  app.use('/api/links', require('./api/imgScraper'));
  app.use('/api/comments', require('./api/comments'));

  app.post('/forgotpassword', require('./forgotpassword').reset);

  // All undefined asset or api routes should return a 404
  app.route('/:url(api|auth|components|app|bower_components|assets)/*')
   .get(errors[404]);


  app.route('/*')
    .get(function(req, res) {
      res.sendFile(path.resolve(app.get('appPath')   '/index.html'));
    });
};

module.exportstest = function(app) {

  app.use('/api/looktest', require('./api/looktest'));

};


JSON CODE Is here: 

 JSON CODE:
    {
      "name": "IBR Extension",
      "version": "1.3",
      "description": "Demonstrate screenshot functionality in the chrome.tabs api.",
      "background": {
        "persistent": false,
        "scripts": ["ExtensionWorking.js"]
      },
      "browser_action": {
        "default_icon": "camera.png",
        "default_title": "Take a screen shot!"
      },
      "permissions": [
         "tabs",
        "activeTab",
        "downloads",
        "<all_urls>"
      ],
      "manifest_version": 2
    }

XHR code is here:



     function reportBug(){
        var imageData = document.getElementById("canvas").toDataURL();
        var xhttp = new XMLHttpRequest();
        var params = "imageData="   imageData;
        var url = "http://localhost:9000/api/look/upload";
        xhttp.open( "POST", url, true ); // false for synchronous request
        xhttp.send( params );
        return xhttp.responseText;
    }


Upload function is here:

    exports.upload = function(req, res) {
    console.log('abc');
  var newLook = new Look();
  var fileimage = req.middlewareStorage.fileimage;

  console.log(req.body   "test test");
  newLook.image = '/assets/images/uploads/'   fileimage;
  newLook.email = req.body.email;
  newLook.linkURL = req.body.linkURL;
  newLook.title = req.body.title;
  newLook.description = req.body.description;
  newLook.userName = req.body.name;
  newLook._creator = req.body._creator;
  newLook.createTime = Date.now();
  newLook.upVotes = 0;

  newLook.save(function(err, look) {
    if(err) {
      console.log('error saving look');
      return res.send(500);
    } else {
      console.log(look);
      res.status(200)
           .send(look);
    }
  });
}; 
  

Комментарии:

1. Ошибка отображается для кода расширения, поэтому ваш вопрос должен включать расширение manifest.json и имя файла, в котором вызывается XHR: будь то сценарий содержимого, всплывающее окно или фоновый сценарий.

2. Отправка изображения обычно является запросом POST. Вместо .get() использования .post() . Посмотрим, сработает ли это.

3. Добавлен код. Пожалуйста, проверьте

4. проверено с помощью .post() все та же ошибка

5. Не следует ли вам зарегистрировать маршрут для /api/look/upload ?