当前位置: 首页 > 工具软件 > Restangular > 使用案例 >

restAngular上传文件

乐山
2023-12-01

当我们使用angular时,希望能够上传文件,自从FormData出现后,我们能够很容易的实现文件的异步上传。

使用jQuery:

var file = $('input[name=upload]')[0].files[0]; // <input type="file" name="upload">

var param = new FormData();
param.append('name', '123');
param.append('your_file', file); // 或者使用form,即: var _param = new FormData($('form[name=formName]')[0]);

$.ajax({
    url: _'your url',
    type: 'POST',
    data: param, // param为FormData对象
    processData: false,
    contentType: false,
    success: function(resp) {
        if(cb) cb(resp);
    },
    error: function(err) {
        console.log(err);
    }
});


angular
使用$http:

$http.post('your url', param, {
    withCredentials: true,
    headers: {'Content-Type': undefined},
    transformRequest: angular.identity
})

使用restangular:

var userApi = Restangular.withConfig(function(Configurer) {
    Configurer.setBaseUrl('base url');
});

userApi.one('me').withHttpConfig({transformRequest: angular.identity}).customPOST(param, '', undefined, {'Content-Type': undefined}).then(function(resp) {
    ...
}, function(err) {
    ...
})

参考网址:https://gitbub.com/mgonto/restangular/issues/420

 类似资料: