kooyee ‘s blog

          開源軟件, 眾人努力的結晶, 全人類的共同財富
          posts - 103, comments - 55, trackbacks - 0, articles - 66
             :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          [dojo] 在grails中使用dojo上傳文件

          Posted on 2008-03-29 09:44 kooyee 閱讀(931) 評論(1)  編輯  收藏 所屬分類: Ajax學習手記
          首先下載dojo和安裝dojo plugin (grails 1.0以上)

          <g:javascript library="dojo" />
          <g:javascript>
          dojo.require(
          "dojo.io.IframeIO");
          </g:javascript>
          <g:form url="[action:'submitToRemoteCall']" id="form2"
          enctype
          ="multipart/form-data">
          File: 
          <input name="someFile" type="file"></input>
          <g:submitToRemote
          value
          ="Submit Upload"
          name
          ="form2"
          action
          ="submitToRemoteUpload"
          update
          ="[success:'message',failure:'error']" />
          </g:form>
          注意 form中寫入url屬性, 而且form不要有hide類型的input,否則會調用XMLHttpRequest,而不用IframeIO

          在controller中寫入
          def submitToRemoteUpload =
          {
          def f 
          = request.getFile('someFile')
          if(f.empty) {
          render 
          "No file!"
          }
           else {
          def fileName 
          = f.getOriginalFilename()
          render(text:
          "<html><body><textarea>You called ${actionName} in
          ${controllerName} with file ${fileName}</textarea></body></html>",
          contentType:"text/html", encoding:"UTF-8")
          }

          }
          IframeIO的默認mimetype為text/plain,所以使用render (text:...)而且套嵌在<textarea>中

          如果要返回render view。 可以修改dojo的dojo.io.bind(),bind參數加上mimetype:"text/html"。form中的<g:submitToRemote>改為
          <input onclick="dojo.io.bind({url:'/test/index/submitToRemoteUpload',  
                          mimetype:'text/html',
                          load:function(type,data,evt){dojo.byId('message')innerHTML = data.body.innerHTML;},
                          error:function(type,error) { dojo.html.textContent( dojo.byId('error'),error.message);},
                          formNode:dojo.byId('form2')});return false
          "
               type
          ="submit" name="form2" value="Submit Upload">






          評論

          # re: [dojo] 在grails中使用dojo上傳文件  回復  更多評論   

          2008-04-04 23:30 by aijun
          o 原來是這樣啊~~~~

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 昭苏县| 泌阳县| 凉山| 丰原市| 金沙县| 汉沽区| 长海县| 个旧市| 红原县| 浏阳市| 富阳市| 柳州市| 肇东市| 永年县| 汕尾市| 逊克县| 甘洛县| 岢岚县| 武山县| 辉县市| 太白县| 普兰店市| 天峨县| 专栏| 张家港市| 井冈山市| 赤水市| 通道| 武威市| 桃园县| 高陵县| 内江市| 桐柏县| 青田县| 洪泽县| 石柱| 宜章县| 长春市| 塔城市| 秭归县| 隆林|