Как-то я захватывая холст изображение с помощью камеры и отправить его canvas.toDataURL()
к серверу, поэтому сервер может сохранить его в виде файла в формате PNG, сейчас, прежде чем я упоминаю эту проблему вот мой код:Как получить canvas `toDataURL()` в java сервлет?
var dataURL = canvas.toDataURL("image/png");
formdata = dataURL.replace(/^data:image\/(png|jpg);base64,/, "");
alert(formdata);
$.ajax({
url: '../canvasdopost',
type: 'POST',
data: formdata,
processData: false,
contentType: false,
success: function(data){
}
});
Сервер:
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Part part = request.getPart("canvasdata");
BufferedReader br = new BufferedReader(new InputStreamReader(part.getInputStream(),
Charset.forName("utf-8")));
String sImg = br.readLine();
System.out.print(sImg);
}
Сервер вывода консоли:
java.lang.IllegalStateException: Невозможно обработать детали в конфигурации из нескольких частей не было предусмотрено в org.apache.catalina.connector.Request.parseParts (Request.java:2733)
Я также попытался:
String test = request.getReader().lines().collect(Collectors.joining(System.lineSeparator()));
System.out.print(test);
теперь проблема в том, что я никогда не получу консоль сервера для вывода что я получаю в своем окне предупреждения клиента перед отправкой данных.
И спасибо за те же, кто говорит мне, как сохранить полученные данные base64 до фактического файла изображения