Playframeworkは指定された場所に置くことでファイルをアップロードします

1375 ワード

まずjqueryのプラグイントランスファゲートをダウンロードします
使用方法:
 
<div id="file-uploader">
    <script>
        function createUploader(){
            var uploader = new qq.FileUploader({
                element: document.getElementById('file-uploader'),
                action: '/upload',
                debug: true
            });
        }
        window.onload = createUploader;
    </script>    
</div>

playframework controllerのコード
 
public static void upload(String qqfile) {

       if(request.isNew) {
        FileOutputStream moveTo = null;
        String filename = request.headers.get("x-file-name").value();
        try {
            InputStream data = request.body;
            moveTo = new FileOutputStream(new File(Play.getFile("").getAbsolutePath()) + File.separator + "uploads" + File.separator + filename );
            IOUtils.copy(data, moveTo);
        } catch(Exception ex) {
            renderJSON("{success: false}");
        } 
        }
        renderJSON("{success: true}");
    }