Как прочитать загруженный файл (xml, txt) из файла Multipart и сохранить эти данные построчно в базе данных - PullRequest
0 голосов
/ 04 апреля 2019

Я только изучаю 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;
    }
}

1 Ответ

0 голосов
/ 26 апреля 2019

Я передал свою переменную «Полные данные» в dao.addFile

dao.add(completeData);

Dao.class:

public void add_b_utmdocs(string body){
        template.update ("insert into docs (body) values (?)", body);
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...