日期:2014-05-20  浏览次数:20915 次

playframework 通过托放到指定位置来上传文件

首先要下载一个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}");
    }