使用activeweb上传文件的任何示例吗?

时间:2019-01-15 16:22:54

标签: javalite activeweb

我尝试将一些csv文件上传到服务器端并进行处理,然后保存到数据库中,例如有关在activeweb中上传文件的示例吗?

1 个答案:

答案 0 :(得分:0)

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>
</@>

我希望这段代码易于理解。