Я только изучаю Java (весеннюю загрузку), но мне нужно сделать небольшой проект, подобный этому. Мне нужно загрузить файл (xml, txt) на сервер, прочитать его построчно и поместить в базу данных (в таблице есть поле body (тип string), чтобы поместить туда содержимое загруженного файла.
Я осуществил загрузку файла на сервер (чтение строки тоже), но не могу поместить эти данные в базу данных. Загруженный файл имеет переменную «Полные данные», которая содержит данные загруженного файла. Как передать его в переменную «тело», чтобы он хранился в базе данных? Или как это сделать по другому?
Я нашел примеры того, как поместить в базу данных сам файл, но мне нужно поместить содержимое файла (внутренний текст).
/*File download*/
@RequestMapping(value = "/upload", method = RequestMethod.POST)
public @ResponseBody String handleFileUpload(@RequestParam("name")String name,
@RequestParam("file")MultipartFile file){
if (!file.isEmpty()) {
try {
byte[] bytes = file.getBytes();
String completeData = new String(bytes);
BufferedOutputStream stream =
new BufferedOutputStream(new FileOutputStream(new File(name + "-uploaded")));
stream.write(bytes);
stream.close();
return completeData;
// return "Вы удачно загрузили " + name + " B " + name + "-uploaded !";
} catch (Exception e) {
return "Вам не удалось загрузить " + name + " => " + e.getMessage();
}
}else{
return "Вам не удалось загрузить " + name + " потому что файл пустой.";
}
}
/*Domain*/
public class Docs {
private String body;
public Docs(){
super();
}
public Docs(String body){
super();
this.body=body;
}
public String getBody() {
return body;
}
public void setBody(String body) {
this.body = body;
}
}