<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 431,  comments - 344,  trackbacks - 0
    在grails中實現上傳文件也很簡單。它可以使用spring里面的CommonsMultipartFile類來處理上傳文件.
    可以對文件的一些屬性設置,比如大小:
    <bean class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
    <property name="maxUploadSize">
    <value>1000000</value>
    </property>
    </bean>
    當然gsp頁面需要在form里面設置enctype="multipart/form-data"
    <g:form method="post" action="save" enctype="multipart/form-data">
    <input type="file" name="file"/>
    <input type="submit"/>
    </g:form>

    下面就是處理上傳的文件了:

    import org.springframework.web.multipart.MultipartHttpServletRequest
    import org.springframework.web.multipart.commons.CommonsMultipartFile

    class UploadController {
        static String uploadDir = "uploadfile"
        def index = {
            render(view:"upload")
        }
        def save = {
            if (request instanceof MultipartHttpServletRequest) {
                MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request
                CommonsMultipartFile orginalFile = (CommonsMultipartFile) multiRequest.getFile("file")
                // 判斷是否上傳文件
                if (orginalFile != null && !orginalFile.isEmpty()) {
                    // 獲取系統默認文件路徑分隔符
                    def separator = System.getProperty("file.separator")
                    println "file separator is ${separator} "
                    // 獲取原文件名稱
                    String originalFilename = orginalFile.getOriginalFilename()
                    // 獲取上傳文件擴展名
                    def extension = originalFilename.substring(originalFilename.indexOf(".") + 1)
                    println "extension is ${extension}"
                    def name = ".." + separator + uploadDir + separator + orginalFile.getOriginalFilename()
                    println "file name is : ${name}"
                    // 使用存放文件的絕對路徑創建輸出流
                     /**
                    DataOutputStream out = new DataOutputStream(new FileOutputStream(name))
                    InputStream is = null
                    try {
                        is = orginalFile.getInputStream()
                        byte[] buffer = new byte[1024]
                        while (is.read(buffer) > 0) {
                          out.write(buffer) // 寫入磁盤
                        }
                    } catch (IOException exception) {
                        exception.printStackTrace()
                    } finally {
                        if (is != null) {
                            is.close()
                        }
                        if (out != null) {
                            out.close()
                        }
                    }
                    */
                    orginalFile.transferTo(new File(name))
                    render(view:"success")
                }
              
            } else {
                println "No multipart"
            }
        }
    }


    posted on 2008-06-04 23:50 周銳 閱讀(3113) 評論(1)  編輯  收藏 所屬分類: Groovy&Grails
    主站蜘蛛池模板: 亚洲女同成av人片在线观看 | jizzjizz亚洲日本少妇| 亚洲av无码潮喷在线观看| 免费观看午夜在线欧差毛片| 日本XXX黄区免费看| 久久精品成人免费看| 日韩电影免费在线观看网址| 中文字幕乱码亚洲无线三区 | 无码人妻AV免费一区二区三区| 免费看一级一级人妻片| 无码色偷偷亚洲国内自拍| 亚洲国产情侣一区二区三区| 亚洲天堂在线播放| 国产亚洲一区二区手机在线观看 | 亚洲狠狠婷婷综合久久蜜芽| 亚洲人配人种jizz| 亚洲人成免费网站| 亚洲另类视频在线观看| 亚洲欧洲日产国码二区首页| 久久久亚洲裙底偷窥综合| 久久国产亚洲电影天堂| 亚洲第一AAAAA片| 亚洲av之男人的天堂网站| 亚洲精品制服丝袜四区| 久久精品国产69国产精品亚洲| 亚洲精品无码av人在线观看| 久久亚洲av无码精品浪潮| 亚洲国产精品成人网址天堂 | 青青草97国产精品免费观看| 美女视频黄a视频全免费网站一区| 国产精品久久久久久亚洲影视| 小说区亚洲自拍另类| 边摸边脱吃奶边高潮视频免费| 深夜a级毛片免费无码| 一级一级毛片免费播放| 久久免费99精品国产自在现线| 中文在线免费视频| 亚欧日韩毛片在线看免费网站| 免费人妻无码不卡中文字幕系| 每天更新的免费av片在线观看| 美女视频黄是免费的网址|