File post参数中的erlang文件

File post参数中的erlang文件,file,file-io,erlang,chicagoboss,File,File Io,Erlang,Chicagoboss,我有一个问题: 我需要从芝加哥的post param读取文件。我正在努力: upload_file('POST', []) -> File = Req:post_param("file"), {ok,Data} = file:read_file(File), 并有一个错误: {{badmatch,{error,enoent}} 当我试图检查文件时,如: case filelib:is_file(File) of true -> {output, "

我有一个问题: 我需要从芝加哥的post param读取文件。我正在努力:

upload_file('POST', []) ->
    File = Req:post_param("file"),
    {ok,Data} = file:read_file(File),
并有一个错误:

{{badmatch,{error,enoent}}
当我试图检查文件时,如:

case filelib:is_file(File) of
        true -> {output, "ok"};
        false -> {output, "error"}
end.
我有错误输出。 我正在和邮递员一起上传文件。问题出在哪里?

请求:post_参数文件中有什么

假设它是一个文件的路径:是否检查了文件的值

无论如何,您可能正在查找的是Req:post_files/0:

[{_, _FileName, TempLocation, _Size}|_] = Req:post_files(),
{ok,Data} = file:read_file(TempLocation),
将文件保留在临时位置也可能是一个坏主意,您最好找到一个更合适的位置来存储它们。

enoint是未找到目录的posix错误代码

此外,您的代码允许人们从磁盘读取任意文件。这将最终导致服务器攻击。

回答如下: