如何处理 javascript 中的真实字符串数据

How to handle true string data in javascript

我有控制器方法和javascript录音方法。

控制器:

此控制器将return字符串数据

@RequestMapping(value = "/sendAudioBlobData/{questionId}", headers = "content-type=multipart/*", method = { RequestMethod.GET, RequestMethod.POST })
    @ResponseBody
    public String getBlob(HttpServletRequest request,HttpServletResponse response, ModelMap model, @RequestParam(value = "file") MultipartFile file, @PathVariable(value = "questionId") int questionId) {

        boolean flag = false;

        String id = Integer.toString(questionId);

        String fileName = null;

        byte[] bytes;
        try {

            bytes = file.getBytes();

            if (!file.isEmpty()) {

                id = id + ".mp3";


                fileName = VOPortalConstants.NLE_USER_AUDIO_FILES_ROOT + File.separator + id;

                BufferedOutputStream stream = new BufferedOutputStream(new FileOutputStream(new File(fileName)));
                stream.write(bytes);
                stream.close();

                File f = new File(fileName);

                if(f.exists()) {
                    response.addHeader("Content-Length", f.length() + "");
                    FileUtils.sendFile(f, response.getOutputStream());
                }

                }

        }

        catch (IOException e) {

            logger.error("ERROR: ", e);
        }

        String fName = fileName.replace(VOPortalConstants.NLE_PATH, VOPortalConstants.NLE_URL_CONST);

        return fName;

    }

JS方法:

此代码提供请求(POST)以录制用户的音频

function saveAudioFile() {
    var questionId = window.questionList[window.counter].id;

      recorder && recorder.exportWAV(function(blob) {

        var formData = new FormData();
        formData.append("file", blob);
        $.ajax({
          url :  "sendAudioBlobData/" + questionId,
          type: 'POST',
          data: formData,
          dataType: "text",
          contentType: false,
          processData: false,
          success: function(data) {
              debugger

              var audio = $("#your_voice");      
              $("#your_voice_source").attr("src",  data);
              /****************/
              audio[0].pause();
              audio[0].load();//suspends and restores all audio element
              //audio[0].play();
              /****************/
          },
          error: function() {
            alert("not so boa!");
          }
        });
      });
    }

在控制器中,return值为字符串,如下所示 -> fName=/NLERESOURCES/NLE/VOICE/USERVOICE\ 107.mp3

but return数据在js中看起来如下-> RIFF$@WAVEfmt������ ... ... ����������������������

我如何处理真正的字符串数据?

谢谢

FileUtils.sendFile 正在从控制器返回文件作为响应输出流的一部分。