2017-10-20 18 views
1

J'utilise ionique 3 et un propre REST API à l'aide cadre Slim avec un accès complet au serveur.CORS erreur lorsque l'image POST

Chaque appel API (GET, POST, PUT et DELETE) en dépit de ceci:

let formData = new FormData(); 
formData.append("file",image); 
return this.httpClient.post("https://myurl.com/api/v1/image,formData) 

Le imageURL est mon API du serveur et de l'image est le chemin que je reçois du plugin caméra cordova.

Ceci est mon erreur de serveur:

[Error] Origin http://localhost:8080 is not allowed by Access-Control-Allow-Origin. 
[Error] Failed to load resource: Origin http://localhost:8080 is not allowed by Access-Control-Allow-Origin. 
[Error] XMLHttpRequest cannot load https://hobbyrea.com/api/v1/user/image due to access control checks. 

Voici ce que mes têtes côté serveur ressemble:

$app->options('/{routes:.+}', function ($request, $response, $args) { 
    return $response; 
}); 
$app->add(function ($req, $res, $next) { 
    $response = $next($req, $res); 
    return $response 
     ->withHeader('Access-Control-Allow-Origin', '*') 
     ->withHeader('Access-Control-Allow-Headers', 'X-Requested-With, Content-Type, Accept, Origin, Authorization') 
     ->withHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS'); 
}); 

Quelqu'un peut-il me donner un avis pourquoi je reçois l'erreur avec cet appel API ?

EDIT:

J'accéder à l'API à partir d'un iPhone.

EDIT 2: J'utilise le plugin cordova transfert de fichiers. N'oubliez pas de mettre à jour upload_max_filesize dans les paramètres PHP. Il vous permettra d'économiser beaucoup de maux de tête: D

+0

Je pense lié à votre ionique. avez-vous configurer le proxy? comme ça .. https://stackoverflow.com/a/38359981/2249037 – Sh4m

+0

Où cette demande proviennent de: http: // localhost: 8080 – Henry

+0

essayer Mozilla Firefox, il peut augmenter wont cette question – Edison

Répondre

0

Ajouter Origine du client à en-tête origines permis de votre serveur.

Access-Control-Allow-Origin: http://localhost:8080 
+0

Je l'ai déjà fait. Regardez mon post :) – TdoubleG

+0

non vous ne l'avez pas ajouté, vous avez ajouté un * – Scriptonomy

+0

ouais mais je l'ai déjà essayé. – TdoubleG