使用servlet将文件上传到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,所以我一定缺少了一些东西。

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

它详细介绍了通过Java Servlet在OpenShift上上传和服务文件的代码,使用OpenShift数据目录

最新更新