java - 返回java服务器中的内容类型

标签 java java-server

注意:需要明确的是,我知道如何执行 if 语句。我需要一种获取实际内容类型并将其作为字符串存储在变量中的方法。

我写了一个简单的java服务器。我还没弄清楚如何返回服务器加载的文件的内容类型。

我知道会有一个 if 语句,它会根据另一个变量(例如 contetType)将字符串变量设置为例如 text/html。 因此,例如:

if (contentType == ".html")
    {
        String s = "text/html";
    }
    else if ......

这是来自服务器的部分(好的 200 响应的代码):

         String okayreply="HTTP/1.0 200 OK \r\n" +
               "Connection: close\r\n" +
               "Content-Lenght : "+ file1.length() + 
               "Content-Type:" +
               "\r\n" +
               "\r\n" +
               "<h2>File Found</h2>\r\n";

    System.out.println(okayreply );

所以我需要找到内容类型并将其存储在变量中。由此,我可以使用该信息来设置显示响应消息时的内容类型。

编辑,它只返回内容类型空白:

File file1 = new File (filename);
String s = "";

  int indexOfFinalDot = filename.lastIndexOf(".");
if (indexOfFinalDot > 0) {
    String fileExtentsion = filename.substring(indexOfFinalDot).toLowerCase();
    if ("html".equals(fileExtentsion)) {
       s = "text/html";
    }
}

另外:

String okayreply="HTTP/1.0 200 OK \r\n" +
               "Connection: close\r\n" +
               "Content-Lenght : "+ file1.length() + "\r\n" +
               "Content-Type: " + s +
               "\r\n" +
               "\r\n" +
               "<h2>File Found</h2>\r\n";

    System.out.println(okayreply );

最佳答案

您可以尝试根据文件扩展名判断文件的内容类型

请注意,逻辑确实会尝试根据文件名猜测内容类型。如果文件名错误(无扩展名/错误扩展名),内容类型 header 很可能是错误的。

假设您在某处有一个文件名:

    String filename = "index.html"; 

    int indexOfFinalDot = filename.lastIndexOf(".");
    if (indexOfFinalDot > 0) {
        String fileExtentsion = filename.substring(indexOfFinalDot + 1).toLowerCase();
        if ("html".equals(fileExtentsion)) {
           //your logic here
        }
    }

关于java - 返回java服务器中的内容类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22133457/

相关文章:

java - 开始运行 JMeter 时如何为 JRE 设置 -Xmx

java - 为我自己的服务器使用谷歌的 Android 授权

java - 无法使用 NSInputStream 在 iOS 客户端中读取来自 Java 服务器的响应

java - Maven2有哪些隐藏特性?

java - 信号量简单示例

java - 使用 Saltstack 安装 Java 运行时

用于移动应用程序的 Java 服务器

java - Java中的可移植本地服务器

java - Urban Airship Android addTag 响应?

java - 在 while 循环中检查数据库值的替代方法