Grails结合uploadify下传文件的简单代码
参考了这篇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
我想要让 flash 显示完整的按钮图片,怎么做?
我想要让 flash 显示完整的按钮图片,怎么做?
你的问题,我也遇到过,并找到Wrong-T的一篇博文“jQuery上传插件Uploadify详解及其中文按钮解决方案”
下面是按照他的文章,使用了16x16 png图片做按钮的样例代码:
$(document).ready(function() { $("#photoes").uploadify({ 'uploader': '${resource(dir: 'uploadify', file: 'uploadify.swf')}', 'cancelImg': '${resource(dir: 'uploadify', file: 'photo_delete.png')}', 'buttonImg': '${resource(dir: 'uploadify', file: 'photo_add.png')}',//按钮图片 'height': 16, 'width': 16, 'wmode': 'transparent', //它的默认值是opaque,把它改成transparent 'script': '${resource(dir: 'photo', file:"savePicture")}', 'folder': 'pic', 'scriptData' : { ${scriptData} }, 'queueID': 'fileQueue', 'multi': true, 'fileDesc': '支持格式:jpg/gif/png.', 'fileExt': '*.jpg;*.gif;*.png', 'displayData': 'percentage' }); });
我希望的结果是,无论图片大小如何,都要按照 flash 设定的大小来显示。你知道怎么处理吗?
我希望的结果是,无论图片大小如何,都要按照 flash 设定的大小来显示。你知道怎么处理吗?
不太好办,除非把用户的按钮强行给转换成100x100的,容易变形。
如果小于100x100出现的白边,用参数'wmode': 'transparent',还可以勉强给透明掉,但透明区域内,仍然是可以点击按钮的。