`
rox
  • 浏览: 42619 次
  • 性别: Icon_minigender_1
  • 来自: 海口
社区版块
存档分类
最新评论

Grails结合uploadify上传文件的简单代码

阅读更多

参考了这篇the script is not working for any mvc frameworkuri的回复,结合当前Uploadifyv2.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

分享到:
评论
4 楼 rox 2011-02-21  
lqixv 写道
谢谢,不过我现在遇到的麻烦是,flash 的大小必须固定,如设为 100 x 100,但按钮图片有时大,有时小(用户自定义的),这时就会出现两种异常情况,图片小于按钮的时候,按钮出白边;图片大于按钮时,按钮只显示了图片的一部分。

我希望的结果是,无论图片大小如何,都要按照 flash 设定的大小来显示。你知道怎么处理吗?

不太好办,除非把用户的按钮强行给转换成100x100的,容易变形。
如果小于100x100出现的白边,用参数'wmode': 'transparent',还可以勉强给透明掉,但透明区域内,仍然是可以点击按钮的。
3 楼 lqixv 2011-02-21  
谢谢,不过我现在遇到的麻烦是,flash 的大小必须固定,如设为 100 x 100,但按钮图片有时大,有时小(用户自定义的),这时就会出现两种异常情况,图片小于按钮的时候,按钮出白边;图片大于按钮时,按钮只显示了图片的一部分。

我希望的结果是,无论图片大小如何,都要按照 flash 设定的大小来显示。你知道怎么处理吗?
2 楼 rox 2011-02-20  
lqixv 写道
有这样一个问题:如果 flash 按钮的尺寸 小于 按钮图片的大小,那么,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'
            });
        });
1 楼 lqixv 2011-02-18  
有这样一个问题:如果 flash 按钮的尺寸 小于 按钮图片的大小,那么,flash 按钮只显示了一部分 按钮图片。

我想要让 flash 显示完整的按钮图片,怎么做?

相关推荐

Global site tag (gtag.js) - Google Analytics