- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 JMimeMagic 库来验证 CSV 文件上传。
对于 CSV 和所有其他文本文件(txt、JSP 等),它给我文本/纯 mime 类型。
logger.debug("Checking magic content");
MagicMatch match;
match = Magic.getMagicMatch(getPromotionOptIn().getUpload(),false);
logger.debug("Actual file mimetype=" + match.getMimeType());
我不应该为 CSV 文件获取 text/csv 吗? (See mime 类型的所有列表)。
或者我将验证放在 text/plain 上,认为它是一个有效的 CSV 文件,这很好。
最佳答案
由于 CSV 文件可以有多个不同的分隔符,我怀疑 csv 文件只是被识别为文本文件(这是真的)。
如果您看到一个文本文件,您如何确定它是一个 CSV 文件?文中是否有逗号、分号等?如果它们属于一个条目而分隔符是其他东西(如 |、#、@ 等)怎么办?
如果没有更多信息,您将很难确定,JMimeMagic 也会遇到同样的问题。因此它只会返回它确定的内容:该文件是一个文本文件。因此你“只”得到“文本/纯文本”。
我不知道那个库,但从文档/源看来你可以提示 *.csv
文件有 text/csv
mime 类型使用Magic.addHint("csv", someMatcher)
。请注意,您可能必须为第二个参数传递 true
,否则这些提示可能会被忽略(从查看源代码来看似乎如此)。
这仍然取决于文件扩展名是否正确,即如果有人上传了包含其他内容的 .csv 文件,您将获得错误的 MIME 类型。
但是,JMimeMagic
似乎无论如何都不会做很多内容检查。至少我在 sourceforge/github 上找到的资源中没有找到太多。只有文本文件检测器,因此您可能必须为其他 MIME 类型和文件格式添加自己的内容检测器。
关于java - 为什么我使用 JMimeMagic lib 获取 CSV 文件的 mimetype text/plain?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8679365/
我需要检查 MIME 类型的 currentFile。如果结果成功并且文件具有 MIME 类型返回 true。如果没有检查成功 return false。 为了这个目标,我使用 JMimeMagic
我正在使用 JMimeMagic 库来验证 CSV 文件上传。 对于 CSV 和所有其他文本文件(txt、JSP 等),它给我文本/纯 mime 类型。 logger.debug("Checking
我是一名优秀的程序员,十分优秀!