我正在开发像shazam这样的应用程序;我设法录制,但是当我使用blob上传音频文件时,服务器端的数据不一样(我无法播放音频文件)。
tizen.filesystem.resolve(
'file:///opt/usr/media/test.aac',
function(dir) {
documentsDir = dir;
if (dir != null) {
dir.openStream(
"rw",
function(fs) {
var bt = fs.readBytes(dir.fileSize);
var blob = new Blob(bt, {
type: 'audio/mpeg'
});
var formData = new FormData();
formData.append("__VIEWSTATE", "jjj=");
formData.append("FileUploadControl", blob, "mmm.aac");
formData.append("UploadButton", "Upload");
client.open("post", "/page", true);
client.send(formData);
fs.close();
},
function(e) {
console.log("Error " + e.message);
}
);
}
},
function(e) {
console.log("Error" + e.message);
}, "rw"
);
答案 0 :(得分:1)
替换
var blob = new Blob(bt, {type: 'audio/mpeg'});
与
var array = $.map(bt, function(value, index) { return [value + "\n"]; });
var blob = new Blob(array, {type : 'audio/mpeg'});
当然,根据您的需要,您可以将行结尾"\n"
排除在外。在我的例子中,我迭代文件中的每一行,并使用PHP的chr()
函数转换回文本值。此外,我正在处理纯文本,因此您可能需要稍微调整一下。