我想上传图片并将其发布到我的服务器上,该服务器应该将图片进一步发布到某个API并获得响应。
我可能会使用类似以下内容的视图:
<form ng-submit="updatePhoto(myphoto)">
<p>Choose Photo:</p>
<input type="file" ng-model="myphoto">
<input type="submit" value="Send">
</form>
然后在控制器中,该函数将具有如下内容:
$http({
method: 'POST',
url: 'myAPIserver.php/',
data: "myPhoto=" + photo,
headers: {'Content-Type': 'multipart/form-data'}
});
但这不正确,我不知道如何做到这一点。问题是我首先将这张照片发送到我的PHP代理,然后从那里使用curl来发出直接的API请求。
我希望我足够清楚。任何建议表示赞赏,谢谢
答案 0 :(得分:9)
我设法在我得到here的自定义指令的帮助下完成了这项工作。 如果要访问文件,则需要用于文件上载的自定义指令(ngModel无法正常工作,有关详细信息,请参阅this)。
使用第一个链接:
<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>
您现在可以使用$ scope.fileToUpload访问上传的文件,这使一切变得更轻松。 我从第一个链接上提供的服务中提取了该函数,并没有将它用作服务,因为它更适合我这样...