gpt4 book ai didi

file - Erlang mime 类型

转载 作者:行者123 更新时间:2023-12-01 16:13:43 24 4
gpt4 key购买 nike

我如何用 Erlang 知道文件的 mime 类型?

谢谢。

最佳答案

如果您想根据扩展名了解文件的 MIME 类型,您可以使用未记录的 inets 函数 httpd_conf:load_mime_types/1。这与一个 mime.types 文件(OTP 中的一个 inets httpd 示例中有一个)将为您提供一个文件扩展名列表及其默认关联的 mime 类型。以下代码将根据文件的扩展名为您提供给定文件名的标准 MIME 类型:

mime_type(FileName) ->
"." ++ Extension = filename:extension(FileName),
MimeTypes = mime_types(),
proplists:get_value(Extension, MimeTypes).

mime_types() ->
MimeTypesFile = filename:join(code:lib_dir(inets),
"examples/server_root/conf/mime.types"),
{ok, MimeTypes} = httpd_conf:load_mime_types(MimeTypesFile),
MimeTypes.

您现在可以在文件名上使用 mime_type/1(例如 example.pdf),如果已知,它将返回默认的 mime 类型(在本例中为 "application/pdf") 或 undefined 否则。

如果您要重复执行此操作,最好将 httpd_conf:load_mime_types/1 的结果缓存为 inets httpd 服务器可以,这样您就可以避免一直读取和解析 mime 类型文件。

关于file - Erlang mime 类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4888729/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com