Любой пример загрузки файлов с помощью ActiveWeb? - PullRequest
0 голосов
/ 15 января 2019

Я пытаюсь загрузить некоторые CSV-файлы на серверную часть, обработать их и сохранить в базе данных, например, как загрузить файл в activeweb?

1 Ответ

0 голосов
/ 16 января 2019

Пример Kitchensink содержит демонстрацию загрузки: https://github.com/javalite/kitchensink.

Вот пример кода, который может обрабатывать многочастный POST-запрос:

public class UploadController extends AppController {

    public void index() {}

    @POST
    public void save() throws IOException {
        List<FormItem> items = multipartFormItems();
        List<String> messages = new ArrayList<String>();

        for (FormItem item : items) {
            if(item.isFile()){
                messages.add("Found file: " + item.getFileName() + " with size: " + Util.read(item.getInputStream()).length());
            }else{
                messages.add("Found field: " + item.getFieldName() + " with value: " + item.getStreamAsString());
            }
        }
        flash("messages", messages);
        redirect(UploadController.class);
    }
}

На стороне Freemarker:

<@form controller="upload" action="save" method="post" enctype="multipart/form-data">
    Select a file to upload:<input type="file" name="file">

<input name="book" value="The Great Gatsby" type="text">
    <button>Upload File</button>
</@>

Я надеюсь, что этот код легко следовать.

...