Загрузка файла Grails Kendoui

Может ли кто-нибудь рассказать мне рабочий пример загрузки файла в kendoui?

Поскольку я пытался загрузить файл и его загрузку на странице просмотра, но когда я нажимаю кнопку «Сохранить», я не могу найти этот файл на странице показа. как использовать сервер в моем случае. Я работаю над проектом Grails

Код, который я использовал.: -

<tr class="prop">
 <td valign="top" class="name">
 <label>File Upload</label>
  <input name="photos[]" id="photos" type="file" /><script>$(document).ready(function ()$("#photos").kendoUpload({

  autoUpload:true,
  upload: onUpload,
  error: onError

   });
       function onError(e) {
                   // Array with information about the uploaded files
         var files = e.files;

            if (e.operation == "upload") {
              alert("Failed to uploaded " + files.length + " files");
                                        }

         // Suppress the default error message
                  e.preventDefault();
                 },
             function onUpload(e) {
               var files = e.files;
      if (e.operation == "upload") {
          alert("Successfully uploaded " + files.length + " files");
                   }
          });</script>
                    </td>
              </tr>

я добавляю файл представления: - create.gsp

<%@ page import="ten.SkeletonBill"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="layout" content="billing" />
<get var="entityName"
value="${message(code: 'skeletonBill.label', default: 'SkeletonBill')}" />
<title><g:message code="default.create.label"
args="[entityName]" /></title>
<script src="source/kendo.all.js"></script>
<link href="styles/kendo.common.css" rel="stylesheet" />
<link href="styles/kendo.default.css" rel="stylesheet" />

</head>
<body>
<content tag="menu-function">
<li><span class="k-link"><a href="#"
onclick="SkeletonBillForm.submit();return false;"><i
class="icon-plus-sign"></i>
<g:message code="default.button.save.label" /></a></span></li>
</content>
<div class="body">
<h1>
<g:message code="default.create.label" args="[entityName]" />
</h1>
<g:if test="${flash.message}">
<div class="message">
${flash.message}
</div>
</g:if>
<g:hasErrors bean="${skeletonBillInstance}">
<div class="alert alert-error">
<a class="close" data-dismiss="alert">×</a>
<g:renderErrors bean="${skeletonBillInstance}" as="list" />
</div>
</g:hasErrors>
<g:uploadForm name="SkeletonBillForm" action="save" method="post">
<div class="dialog">
<table>
<tbody>

<tr class="prop">
<td valign="top" class="name"><label for="bones"><g:message
code="skeletonBill.bones.label" default="Bones" /></label></td>
<td valign="top"
class="value ${hasErrors(bean: skeletonBillInstance, field: 'bones', 'errors')}">
<g:textField name="bones"
value="${fieldValue(bean: skeletonBillInstance, field: 'bones')}" />
</td>
</tr>

<tr class="prop">
<td valign="top" class="name"><label for="dateOfBirth"><g:message
code="skeletonBill.dateOfBirth.label" default="Date Of Birth" /></label>
</td>
<td valign="top"
class="value ${hasErrors(bean: skeletonBillInstance, field: 'dateOfBirth', 'errors')}">
<g:textField name="dateOfBirth"
value="${skeletonBillInstance?.dateOfBirth}" /> <script>$(document).ready(function () {$("#dateOfBirth").kendoDatePicker({format:"yyyy-MM-dd"})});</script>
</td>
</tr>
<tr class="prop">
<td valign="top" class="name">
<label>File Upload</label>

<input name="excelSheet" id="excelSheet" type="file" />

<script>
$(document).ready(function() {
    $("#excelSheet").kendoUpload();
},

        function onError(e) {
// Array with information about the uploaded files
            var files = e.files;

            if (e.operation == "upload") {
                alert("Failed to uploaded " + files.length + " files");
            }

// Suppress the default error message
            e.preventDefault();
        },
        function onUpload(e) {
            var files = e.files;
            if (e.operation == "upload") {
                alert("Successfully uploaded " + files.length + " files");
            }
        });
</script>
</td>
</tr>

</tbody>
</table>
</div>
</g:uploadForm>
</div>
</body>
</html>

А также Controller.gsp

def save = {
    def skeletonBillInstance = new SkeletonBill(params)


    if(!skeletonBillInstance.empty){
        println "Name: ${skeletonBill.bones}"
        flash.message = "${message(code: 'default.created.message', args: [message(code: 'skeletonBill.label', default: 'SkeletonBill'), skeletonBillInstance.id])}"
        redirect(action: "show", id: skeletonBillInstance.id)
    }
} else {
render(view: "create", model: [skeletonBillInstance: skeletonBillInstance])
}
}

person A B    schedule 27.04.2012    source источник
comment
У вас есть определенный контроллер и страница просмотра?   -  person allthenutsandbolts    schedule 27.04.2012
comment
Можете ли вы опубликовать свой код, который у вас есть на странице просмотра/gsp?   -  person allthenutsandbolts    schedule 27.04.2012


Ответы (1)


Пара вещей 1) Если вы хотите использовать KendoUI, я бы не стал использовать теги gsp. Пожалуйста, используйте обычные теги формы для определения вашей формы, если вы делаете это, Grails прибегает к использованию подключаемого модуля прототипа. 2) Я не буду смешивать код скрипта с тегами. 3) Если вы используете Grails 2.0, вы можете использовать подключаемый модуль KendoUI. Дополнительную информацию можно найти на странице http://grails.org/plugin/kendo-ui

Надеюсь, это поможет.

person allthenutsandbolts    schedule 30.04.2012