我正在寻找从网页上传XML文件到GAE DataStore的最佳方法。稍后将通过Web界面解析和修改XML。到目前为止,我使用的是文件类型为form
的HTML input
:
<form enctype="multipart/form-data" action="update" method="post" >
<input type="file" name="myfile" />
<input type="submit" />
</form>
在servlet类中,我使用for循环将数据读入String
:
InputStream input = req.getInputStream();
StringBuffer sb = new StringBuffer("");
int c = -1;
while ( (c = input.read() ) != -1 )
{
char ch = (char) c;
sb.append( ch );
}
然后我检查DataStore是否包含具有应用程序硬编码密钥值的实体,如果不是,我创建一个新实体并将XML上传到Text
(com.google.appengine.api.datastore.Text
),否则我创建一个新实体并且把文件放在那里。那可以称之为好方法吗?
此致 斯登
答案 0 :(得分:2)
如果您使用带有type="file"
字段的html表单,则浏览器将通过带有multipart/form-data
content type的http POST上传文件。
请参阅how to handle properly multipart content data上的AppEngine文档。