tizen上传文件到服务器
tizen upload file to a server
我正在开发类似 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"
);
替换
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()
函数转换回文本值。此外,我使用的是纯文本,因此您可能需要稍微调整一下。
我正在开发类似 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"
);
替换
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()
函数转换回文本值。此外,我使用的是纯文本,因此您可能需要稍微调整一下。