2017-01-30 9 views
0

フロントエンドからバックグラウンドで画像をアップロードしたいのですが... ngFileUploader bowerコンポーネントを使用します。クロスオリジンリクエスト

function SampleController(SampleData,Upload,$http) { 
     var vm = this; 
     vm.uploadFiles = function(files, errFiles) { 
     Upload.upload({ 
     url: "localhost:5000/upload", //webAPI exposed to upload the file 
     data: { 
     file: files 
     } 
    }).then(function(resp) { 
     console.log(resp)}); 
    } 

と私はそのhtmlファイルにNGF選択追加されます: 私のフロントエンドコードがあります。 それはエラーを表示します: XMLHttpRequestはlocalhost:5000/uploadをロードできません。 Cross originリクエストは、http、data、chrome、chrome-extension、https、chrome-extension-resourceのプロトコルスキームでのみサポートされています。 どうすれば解決できますか?

+4

URL:http:// localhost:5000/upload "' –

+0

URLの先頭は省略されています。タイプミスとしてクローズする投票。 – Quentin

+0

POST http:// localhost:3000/upload 404(見つかりません) – raksha

答えて

0

あなたはこれを追加する必要があります。

header('Access-Control-Allow-Headers: Content-Type'); 
header('Access-Control-Allow-Methods: GET, POST, OPTIONS'); 
header('Access-Control-Allow-Origin: *'); 

マイプロジェクトのバックエンドはlaravelです。そこで、これをRouteファイルに含めました。

+0

私のbackenedはexpressJSです。だから私はこれらのヘッダーファイルを含める必要があるかどうか – raksha

+0

これを訪問:http://stackoverflow.com/questions/11181546/how-to-enable-cross-origin-resource-sharing-cors-in-the-express-js-framework -o – Mohammed

0

は私がホワイトリストにあなたができるようになる起源をあなたをお勧めします

var app = require('express')(); 
app.use((req, res, next) => { 
    res.header('Access-Control-Allow-Origin', '*'); 
    res.header('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept'); 
    res.header('Access-Control-Allow-Methods', ['GET', 'PUT', 'POST', 'DELETE']); 
    next(); 
}); 

ミドルウェアとしてアプリケーションにCORSフィルタを追加します。

+0

いいえ..うまくいきません...投稿の同じエラーを投稿してください – raksha

+0

あなたのサーバーが稼働していることを確認してください:3000とクライアント:5000?そうであれば、クライアントのURLはhttp:// localhost:3000/upload –

+0

でなければなりません。 – raksha

関連する問題