将文件上传到angularjs中的RESTful服务

Ole*_*huk 6 file-upload multifile-uploader angularjs

我尝试制作有点像"dropbox"的角度CRUD应用程序.因此,它必须具有共享和访问功能的文件和文件夹托管.我遇到了如何上传图片和视频文件的问题?我使用File API(FileReader,Blob)在客户端进行文件预览,但我不知道如何将这种类型的数据发布到服务器.

aar*_*sil 6

像这样的东西应该可以很好地发送multipart/form-data请求到后端API:

var file = ... // get from file input;
var backendUrl = ...
var fd = new FormData();

fd.append('myFile', file, 'filename.ext');

$http.post(backendUrl, fd, {
    // this cancels AngularJS normal serialization of request
    transformRequest: angular.identity,
    // this lets browser set `Content-Type: multipart/form-data` 
    // header and proper data boundary
    headers: {'Content-Type': undefined}
})

.success(function(){
    //file was uploaded
})

.error(function(){
    //something went wrong 
});
Run Code Online (Sandbox Code Playgroud)

见这里参考:

FormData API Doc

使用FormData对象(MDN)

multipart-formdata 使用AngularJS上传文件