Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon s3 如何使用$http通过ajax发送base64字符串音频/ogg以使用s3 skipper上载文件_Amazon S3_Sails.js_Multipartform Data_Form Data_Skipper - Fatal编程技术网

Amazon s3 如何使用$http通过ajax发送base64字符串音频/ogg以使用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

我有一份sails的申请。所以在后端我有一个NodeJS服务器,在前端我有一个AngularJS应用程序

我想从前端上传一些文件到s3。因此,我在后端使用s3 skipper

所以在前端我

<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: [],....