<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 周銳 閱讀(3111) 評論(1)  編輯  收藏 所屬分類: Groovy&Grails
    主站蜘蛛池模板: 久久精品免费观看国产| 怡红院亚洲红怡院在线观看| 99999久久久久久亚洲| 亚洲变态另类一区二区三区| 黄页网址在线免费观看| 中文字幕在线观看免费| 成人A片产无码免费视频在线观看| 全免费a级毛片免费看| 91精品视频免费| 青青草国产免费久久久下载| 国产成人精品日本亚洲专区| 亚洲AV乱码一区二区三区林ゆな| 久久精品国产亚洲AV无码偷窥| 国产AV旡码专区亚洲AV苍井空| 免费人成大片在线观看播放电影 | 大地资源网高清在线观看免费| 午夜免费福利小电影| 精品久久久久久久免费人妻| 亚洲精品国偷自产在线| 在线综合亚洲中文精品| 91成人免费福利网站在线| 日韩精品无码区免费专区| 亚洲熟妇无码八AV在线播放| 亚洲人xxx日本人18| 精品一卡2卡三卡4卡免费视频| 日本免费高清一本视频| 亚洲第一香蕉视频| 中文在线免费视频| 日本视频免费在线| 亚洲国产综合精品| 中文字幕手机在线免费看电影| 和日本免费不卡在线v| 亚洲尹人香蕉网在线视颅| v片免费在线观看| 日韩中文无码有码免费视频| 91亚洲一区二区在线观看不卡| 中文字幕无码免费久久9一区9| 全免费a级毛片免费看不卡| 久久综合亚洲色HEZYO社区| 亚洲阿v天堂在线2017免费 | 亚洲精品岛国片在线观看|