2015-05-18 2 views
2

Я разрабатываю приложение, такое как shazam; Мне удалось записать, но когда я загружаю аудиофайл с помощью blob, данные на стороне сервера были не такими же (я не могу воспроизвести аудиофайл).tizen загрузить файл на сервер

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

aac! = Mpeg, но не имеет значения? – dandavis

ответ

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. Кроме того, я работаю с простым текстом, так что вам может потребоваться небольшая настройка.

 Смежные вопросы

  • Нет связанных вопросов^_^