尝试使用xmlHttpRequest 上传文件但是遭遇Missing boundary in multipart/form-data POST

JSB代码如下:
var data = jsb.fileUtils.getDataFromFile(res.voice.zh.home.addVip);

    var xhr = new XMLHttpRequest();
    xhr.open('POST', "http://10.18.18.6/git/storyhouse_v2/dev/server/upload.php");
    //xhr.setRequestHeader('Content-Type', 'application/octet-stream'); //这个可以传文件,但是没法POST数据只能用GET传递数据,所以希望用下面的类型。
    xhr.setRequestHeader('Content-Type', 'multipart/form-data');


    var msg = {data: data, name: "lalalal.mp3"};
    xhr.send(msg);

    xhr.onreadystatechange = function () {
        trace("state changed=====");
        trace("xhr state:" + xhr.readyState +" status:"+xhr.status);
        trace( xhr.responseText);
    
    }

返回错误:
Warning: Missing boundary in multipart/form-data POST data in Unknown on line 0

请问 是不是没法从JS端传递不是字符串的formData?如果一定要传还是得去C++里写吗?

看了源代码 确实能只能传递一个二进制文件,这个API设计得不太好。