【问题标题】:Grails AppEngine file upload using GAEVFS使用 GAEVFS 上传 Grails AppEngine 文件
【发布时间】:2010-12-22 08:49:51
【问题描述】:

我正在开发 Grails Web 应用程序,需要上传文件。 我有一个表格(这里简化了):

<g:form action="save" method="post"  enctype="multipart/form-data">           
<input type="file" id="image" name="image" />                                
<input class="save" type="submit" value="Create" />
</g:form>

在控制器代码中(我知道这不应该在控制器中,但这只是为了让它工作,并且设计得更好):

def save = {
 GaeVFS.setRootPath( servletContext.getRealPath( "/" ) );
 FileSystemManager fsManager = GaeVFS.getManager();
 FileObject tmpFolder = fsManager.resolveFile( "gae://WEB-INF/upload_files" );
 if ( !tmpFolder.exists() ) {
  tmpFolder.createFolder();
 }

 //I NEED CODE HERE TO SAVE THE IMAGE IN THE BIGTABLE VIA GAEVFS
}

所以我有两个问题:

A.当按下保存创建按钮时出现异常,因为它尝试使用 Apache Commons FileUpload 来尝试保存到文件系统。

如何禁用它?

例外是: java.lang.NoClassDefFoundError: java.rmi.server.UID 是一个受限类。有关详细信息,请参阅 Google App Engine 开发人员指南。 在 com.google.appengine.tools.development.agent.runtime.Runtime.reject(Runtime.java:51) 在 org.apache.commons.fileupload.disk.DiskFileItem.(DiskFileItem.java:103) 在 org.apache.commons.fileupload.disk.DiskFileItemFactory.createItem(DiskFileItemFactory.java:196) 在 org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:358)

B.我需要代码示例通过 gaevfs 保存图像 我在 GaeVfsServlet 中看到了示例,但我仍然不知道它在我的情况下应该是什么样子。欢迎任何形式的帮助。

GaeVfsServlet 网址:http://code.google.com/p/gaevfs/source/browse/trunk/src/com/newatlanta/appengine/servlet/GaeVfsServlet.java

【问题讨论】:

  • 您考虑过改用 Gaelyk 吗?这是一个用 Groovy 编写的 GAE 框架。
  • 对不起,这不是我的项目的替代品。
  • 这仍然是一个悬而未决的问题。感谢您的任何建议
  • 我愿意接受其他类型的建议而不是 GAEVFS。

标签: google-app-engine grails file-upload


【解决方案1】:

我遇到了同样的问题,我正在使用一个名为 ajaxuploader 的 grails 插件来解决这个问题 - 上传的文件可以作为输入流对象提供给您的控制器,并且不必使用公共文件上传 API全部。

http://www.grails.org/plugin/ajax-uploader

【讨论】:

    猜你喜欢
    • 2023-03-21
    • 1970-01-01
    • 2012-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多