我基于假的后端实现进行开发的角度前端。
此虚假存储使用localStorage
构建,http请求由e2e $httpBackend
处理。所有这一切都很好用,直到我试图假冒文件上传服务。
在我的客户端代码中,我有以下服务(based on this post):
angular.module('myApp')
.service('fileUpload', ['$http', function ($http) {
this.uploadFileToUrl = function(file, uploadUrl) {
var fd = new FormData();
fd.append('file', file);
$http.post(uploadUrl, fd, {
transformRequest: angular.identity,
headers: {'Content-Type': undefined}
});
};
}]);
和假上传服务:
angular.module('myApp')
.run(function($httpBackend, $log) {
$httpBackend.whenPOST('api/upload').respond(function(method, url, data) {
// data is a FormData
// TODO
// read the content
// store to local storage
return [200, 'uploaded/path'];
});
});
接收数据为FormData
。我读到的关于FormData
的所有内容都是它是一个只写对象。
如何读取文件内容以将其存储到本地存储?