Amazon s3 如何使用$http通过ajax发送base64字符串音频/ogg以使用s3 skipper上载文件
我有一份sails的申请。所以在后端我有一个NodeJS服务器,在前端我有一个AngularJS应用程序 我想从前端上传一些文件到s3。因此,我在后端使用s3 skipper 所以在前端我Amazon s3 如何使用$http通过ajax发送base64字符串音频/ogg以使用s3 skipper上载文件,amazon-s3,sails.js,multipartform-data,form-data,skipper,Amazon S3,Sails.js,Multipartform Data,Form Data,Skipper,我有一份sails的申请。所以在后端我有一个NodeJS服务器,在前端我有一个AngularJS应用程序 我想从前端上传一些文件到s3。因此,我在后端使用s3 skipper 所以在前端我 <form id="formUpload" method = "post" action = "/bin/upload" enctype= "multipart/form-data" > <input type="file" id="inFile" name="fil
<form id="formUpload"
method = "post"
action = "/bin/upload"
enctype= "multipart/form-data" >
<input type="file" id="inFile" name="file" />
<input type="button" value="Upload" onclick="uploadFile();" />
</form>
整个过程都很完美。
现在我有另一个场景,当我从浏览器录制音频文件时,我想使用相同的s3跳过程序将文件上载到s3
但在本例中,由于明显的原因,我没有任何html表单元素和输入类型文件。对于音频文件,我使用base64 audio dataUrl:
data:audio/ogg;base64,T2dnUwACAAAAAAAAAABx+oohAAAAAH....
由于我不能使用表单提交,我想使用$http发送数据。所以我现在做的是:-
var blob = $scope.dataURItoBlob(audioDataUrl, 'audio/ogg');
var formData = new FormData();
formData.append('file', blob);
$http({
method: 'POST',
url: '/file/upload/multi',
headers: { 'Content-Type': 'multipart/form-data;' },
data: formData
发送请求后,我可以看到一些数据正在浏览器网络中发送
但在后端,我得到的是req.file(“file”):
那么,有谁能帮我在这里正确上传文件吗?可能的副本?
var blob = $scope.dataURItoBlob(audioDataUrl, 'audio/ogg');
var formData = new FormData();
formData.append('file', blob);
$http({
method: 'POST',
url: '/file/upload/multi',
headers: { 'Content-Type': 'multipart/form-data;' },
data: formData
{ _fatalErrors: [],
isNoop: true,
_files: [],....