使用servlet将文件上传到Openshift服务器

时间:2015-03-30 16:25:36

标签: java file servlets upload openshift

我不确定此问题是否曾被提出,但我在互联网上找不到任何资源来回答我的具体问题。

我正在尝试将文件从Android应用程序上传到我的Openshift服务器/设备,然后存储它。但是,我面临的问题是,虽然文件是在Openshift端创建的(我已经使用FTP检查过),但没有数据被写入。

servlet中将数据写入文件的代码片段在这里:

int BUFFER_LENGTH = 4096;
DataInputStream din = new DataInputStream(req.getInputStream());
String fileName = din.readUTF();
String path = System.getenv("OPENSHIFT_DATA_DIR") + "/uploads/" + fileName + ".txt";
File f = new File(path);
FileOutputStream fos = new FileOutputStream(f);

byte[] buffer = new byte[BUFFER_LENGTH];
int length = 0;
while ((length = din.read(buffer, 0, BUFFER_LENGTH)) != -1) {
    fos.write(buffer, 0, length);
}

fos.close();
din.close();

至少对我来说似乎都是正确的,当我在本地tomcat服务器上测试它时它起作用了。但是,出于某种原因,它不适用于Openshift,因此必须有一些我缺少的东西。

1 个答案:

答案 0 :(得分:0)

幸运的是,这个问题有一个帮助中心文章: https://forums.openshift.com/how-to-upload-and-serve-files-using-java-servlets-on-openshift

详细介绍了使用openshift数据目录上传和通过Java Servlet在OpenShift上提供文件的代码