【问题标题】:Uploading file to Openshift server with servlet使用 servlet 将文件上传到 Openshift 服务器
【发布时间】:2015-06-03 18:32:29
【问题描述】:

我不确定以前是否有人问过这个问题,但我在互联网上找不到任何资源来回答我的具体问题。

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

servlet 中将数据写入文件的代码 sn-p 在这里:

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,所以我肯定缺少一些东西。

【问题讨论】:

    标签: java file servlets upload openshift


    【解决方案1】:

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

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

    【讨论】:

    • 我已经查看了这个资源,当第一次编写 servlet 时,我基本上复制了上传部分,但这对我来说根本不起作用。它甚至没有在服务器端创建文件。这可能与文章发表了 2 年有关,也许事情发生了变化。
    猜你喜欢
    • 1970-01-01
    • 2011-03-31
    • 2016-06-18
    相关资源
    最近更新 更多