【发布时间】: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