【问题标题】:get the extension of the uploaded file in jsp using apache common fileupload使用apache common fileupload在jsp中获取上传文件的扩展名
【发布时间】:2012-02-05 11:52:29
【问题描述】:

为了安全和方便备份,最初我将图像存储在数据库中。

所以我从来没有遇到过获取文件扩展名的问题。

现在我面临问题,因为数据库负载。

所以我计划将图像存储在一个文件夹中并显示这些图像。

但我需要重命名这些文件并将扩展名存储在数据库中,以便我可以直接访问。

但由于我是在数据库中对图像进行字符串处理,所以我从不关心文件的扩展名。

因为我必须访问图像文件,所以我必须知道扩展名。

如何在Apache common fileupload中获取文件的扩展名。

【问题讨论】:

  • 如果您可以在不知道文件扩展名的情况下从数据库中提供图像,为什么不能从文件系统中执行相同的操作?浏览器不知道(也不关心)字节流来自哪里。它关心它的 mime 类型,但你必须有办法知道它。如果你知道的话,你应该能够决定使用哪个文件扩展名。
  • 恐怕你还没有真正理解@JBNizet...

标签: jsp file-upload apache-commons-fileupload


【解决方案1】:

这是我在代码中的做法。 item 是 FileItem 或 FileItemStream 对象。

String format = "none";
String fileName = item.getName();
int index = fileName.lastIndexOf(".");
if(index > 0){
               format = fileName.substring(index+1);
               format = format.toLowerCase();
}

【讨论】:

  • 如果文件的扩展名类似于archiveFile.tar.gz,该怎么办?
  • 顶部的问题指定图像文件。在您的情况下,您可以尝试使用 int index = fileName.indexOf(".");
猜你喜欢
  • 2011-01-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-23
  • 1970-01-01
相关资源
最近更新 更多