參考了這篇the script is not working for any mvc framework中uri的回復,結合當前Uploadify的v2.1.4版,netbean 6.9.1下編寫調試。
● 新建grails工程,名為test,并把Uploadify-v2.1.4.zip解壓到web-app\uploadify目錄下。
● 新建grails控制器PictureController,代碼如下
package com.test class PictureController { def index = { redirect(action: "upload") } def upload = { } def savePicture = { def files = request.getFileMap(); def path = "c:/test/" + files.get("Filedata").getOriginalFilename(); files.get("Filedata").transferTo( new File(path)) render (view:'upload') } } |
● 新建grails視圖upload.gsp,代碼如下,注意粗體部分的上下文路徑
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>upload file sample</title> <link rel="stylesheet" href="/test/uploadify/uploadify.css" type="text/css" /> <script type="text/javascript" src="/test/uploadify/jquery-1.4.2.min.js"></script> <script type="text/javascript" src="/test/uploadify/swfobject.js"></script> <script type="text/javascript" src="/test/uploadify/jquery.uploadify.v2.1.4.min.js"></script> <script type="text/javascript"> $(document).ready(function() { $("#fileUpload").uploadify({ 'uploader': '/test/uploadify/uploadify.swf', 'cancelImg': '/test/uploadify/cancel.png', 'script': '/test/picture/savePicture', 'folder': 'files', 'multi': true, 'buttonText': 'add', 'displayData': 'speed', 'simUploadLimit': 2 }); }); </script> </head> <body> <hr width=100% size="1" color="" align="center"> <h2>Multiple File Upload</h2> <p>checkScript, buttonText, simulataneous upload limit</p> <div id="fileUpload">You have a problem with your javascript</div> <a href="javascript:$('#fileUpload').uploadifyUpload()">Start Upload</a> | <a href="javascript:$('#fileUpload').uploadifyClearQueue()">Clear Queue</a> <p></p> </body> </html> |
● 運行工程,訪問http://localhost:8080/test/picture/upload