У меня есть метод контроллера и метод javascript для записи звука.Как обрабатывать истинные данные строки в javascript
Контроллер:
Этот контроллер будет возвращать строковые данные
@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!");
}
});
});
}
в контроллере, возвращаемое значение строка, которая выглядит следующим образом: -> Fname =/NLERESOURCES/NLE/VOICE/UserVoice \ 107.mp3
но возвращающие данные, выглядит следующим образом in js -> RIFF $ @ WAVEfmt
, как я бы обрабатывать истинные данные строки?
Благодаря
# Ваш номер