我遇到文件上传问题。我使用过Apache Commons servlet文件上传用于上传文件。虽然文件越来越多了 上传并将数据存储在本地服务器上(http:// 127.0.0.1:8888/_ah/admin/datastore)但不是谷歌 App Engine数据存储区。 我正在做的是加载 该文件作为流并立即解析流并创建 数据存储实体与数据。我实际上并没有想要保存 文件。在本地服务器中它可以工作。它甚至可以在我尝试访问时工作 来自另一台机器的本地服务器。但是当我这样做时它不起作用 使用Google Pluggin for Eclipse将其部署到Appengine。我的解析 代码取决于web-inf目录下的资源文件。 是否有可能这些资源文件没有上传,是 有办法检查Appengine上传的文件是什么?
答案 0 :(得分:2)
您.war
中的任何内容都会进入AppEngine。我不知道如何有选择地排除它的部分内容。更有可能的是,您的应用程序依赖于潜伏在PC上的某些内容但不包含在.war文件中的内容。
但是,您的应用程序是否应该检查这些资源并在未找到时抛出异常?如果它无声地失败,我会认为这是一个设计缺陷。
记录很多可能有助于您调试问题。您可以通过AppEngine控制台查看程序的日志。我建议更多错误检查和记录。
要检查的其他内容是不运行您认为自己的软件版本。有一种版本控制机制允许您部署不同的并发版本,只有一个实际可访问。您应该记录和/或以其他方式访问的内容之一是应用程序构建的某些版本信息(可能甚至包括构建时间戳)。
答案 1 :(得分:0)
.war文件夹中的文件在应用引擎中执行,其他文件已上传。您需要验证的是您设置的路径以及源java文件和您正在阅读的文件的路径。您无法在app引擎中使用本地文件系统路径。您需要在项目中包含该文件