Javascript 将Blob转换为Wav文件

Javascript 将Blob转换为Wav文件,javascript,java,ajax,servlets,blob,Javascript,Java,Ajax,Servlets,Blob,我正在使用Javascript从Chrome上传一个wav文件,如图所示。我使用java作为我的后端,我遵循了这个主题。已成功创建该文件。但是该文件似乎已损坏,无法读取。我想知道如何正确地制作wav文件 使用ajax发送blob: var xhr = new XMLHttpRequest(); xhr.onload = function (e) { if (this.readyState === 4) { console.log("Server return

我正在使用Javascript从Chrome上传一个wav文件,如图所示。我使用java作为我的后端,我遵循了这个主题。已成功创建该文件。但是该文件似乎已损坏,无法读取。我想知道如何正确地制作wav文件

使用ajax发送blob:

 var xhr = new XMLHttpRequest();
  xhr.onload = function (e) {
      if (this.readyState === 4) {
          console.log("Server returned: ", e.target.responseText);
      }
  };
  var fd = new FormData();
  fd.append("Wav", blob);
  xhr.open("POST", "servletUrl", true);
  xhr.send(fd);
java代码:

protected void doPost(HttpServletRequest request,
        HttpServletResponse response) throws ServletException, IOException {
    try {

        byte[] buffer = new byte[1024 * 1024];
        InputStream input = request.getInputStream();       
        OutputStream output = new FileOutputStream("G:\\test.wav");
        int bytesRead;
        while ((bytesRead = input.read(buffer)) != -1){
            System.out.println(bytesRead);
            output.write(buffer, 0, bytesRead);
        }
        output.close();
        input.close();

    } catch (Exception e) {
        e.printStackTrace();
    }

}
这可能有用这可能有用