tizen上传文件到服务器

时间:2015-05-18 21:29:04

标签: javascript tizen

我正在开发像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"
);

1 个答案:

答案 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()函数转换回文本值。此外,我正在处理纯文本,因此您可能需要稍微调整一下。