开发者社区 问答 正文

angularjs怎样可以用formdata上传图片?

因为input选择图片然后提交到服务器后会返回一个json数组的返回值,用传统的form表单提交图片,图片是能传上去了,但是没法接收到返回值。用的是angularjs框架,就想问一下可以把input选择到的图片放到formdata里传给服务器么?如果可以,具体要怎么实现?

展开
收起
a123456678 2016-03-12 11:14:32 2731 分享 版权
1 条回答
写回答
取消 提交回答
  • 直接用$http的post方法就可以做到,具体的可以参考这篇博客:Multipart/form-data File Upload with AngularJS

    .service('fileUpload', ['$http', function ($http) {
        this.uploadFileToUrl = function(file, uploadUrl){
            var fd = new FormData(); //初始化一个FormData实例
            fd.append('file', file); //file就是图片或者其他你要上传的formdata,可以通过$("input")[0].files[0]来获取
            $http.post(uploadUrl, fd, {
                transformRequest: angular.identity,
                headers: {'Content-Type': undefined}
            })
            .success(function(){
            })
            .error(function(){
            });
        }
    }]);
    2019-07-17 19:00:30
    赞同 展开评论
问答分类:
问答地址: