I want to upload an image and post it to my server which should post the image further on to some API and get its response.
I could probably use view with something like:
<form ng-submit="updatePhoto(myphoto)">
<p>Choose Photo:</p>
<input type="file" ng-model="myphoto">
<input type="submit" value="Send">
</form>
and then in the controller the function would have something like:
$http({
method: 'POST',
url: 'myAPIserver.php/',
data: "myPhoto=" + photo,
headers: {'Content-Type': 'multipart/form-data'}
});
But this is not correct and I am not sure how to accomplish this. The catch is that I am sending this photo to my PHP proxy first and from there I use curl to make direct API requests.
I hope I was clear enough. Any suggestions appreciated, thanks
I managed to accomplish this with the help of custom directive that I got here. You need a custom directive for file upload if you want to access files (ngModel wont work, see this for more info).
Using first link:
<form ng-submit="updateSth()" name="uploadForm" enctype="multipart/form-data">
<input name="file" type="file" id="file" file-model="fileToUpload" />
<input name="somethingINeed" type="submit" value="Upload" />
</form>
you can access the uploaded file with $scope.fileToUpload now, which makes everything easier. I extracted the function from the service given on the first link and didn't use it as a service since it suited me better this way …
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With