播放框架:控制器中的Ajax Drag n’Drop File Upload File对象

前端之家收集整理的这篇文章主要介绍了播放框架:控制器中的Ajax Drag n’Drop File Upload File对象前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有没有人知道通过Ajax上传文件方法,并从支持PlayFramework的文件上传到File对象的桌面上使用拖放功能

我尝试了几种不同的方法,没有任何正常的工作.

这是我的成功尝试:

编辑路径文件添加

POST    /upload                                 Application.upload

我们的控制器是应用程序,我将使用它来保持简单.

编辑您的应用程序控制器类

public static void upload(String qqfile) {


if (request.isNew) {

    FileOutputStream moveTo = null;

    Logger.info("Name of the file %s",qqfile);
    // Another way I used to grab the name of the file
    String filename = request.headers.get("x-file-name").value();

    Logger.info("Absolute on where to send %s",Play.getFile("").getAbsolutePath() + File.separator + "uploads" + File.separator);
    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) {

        // catch file exception
        // catch IO Exception later on
        renderJSON("{success: false}");
    }

}


renderJSON("{success: true}");
}

在app / views / Application文件夹/包中编辑Application.html

#{extends 'main.html' /}
#{set title:'Multiple Uploads' /}

<div id="file-uploader">
    <noscript>
        <p>Please enable JavaScript to use file uploader.</p>
        <!-- or put a simple form for upload here -->
    </noscript>

    <script>
        function createUploader(){
            var uploader = new qq.FileUploader({
                element: document.getElementById('file-uploader'),action: '/upload',debug: true
            });
        }

        // in your app create uploader as soon as the DOM is ready
        // don't wait for the window to load
        window.onload = createUploader;
    </script>    
</div>

编辑您的主要布局:main.html,位于app / views文件夹/包中,并在jQuery之后添加此行

<script src="@{'/public/javascripts/client/fileuploader.js'}" type="text/javascript"></script>

最后的笔记
记得从AJAX Upload Valums下载脚本,享受!

你也可以grab the source here.

我在不同的浏览器中测试了它,至少对我来说是适用的.在Riyad玩的信用!邮件列表谁暗示了我有关请求

P.S:我正在使用我之前发表的评论

编辑代码的答案已经按照T.J.的指示添加. Crowder,我同意:)

猜你在找的Ajax相关文章