Lua waffle 中的同步文件保存

我有一个 Lua web 应用程序,需要使用一些命令行工具处理提交的视频文件。

问题是,在 req.form.file 的 save 函数调用是异步的,因此在文件实际保存之前执行会继续进行。

req.form.file:save{path=path}

当我在该路径上调用命令行工具 ffprobe 时,我收到指示数据无效的错误。在控制台中使用相同的命令可以正常工作。

我猜测在执行 ffprobe 的调用时,文件尚未保存。

有没有办法确保在 Lua waffle 应用程序中继续执行其他命令之前将文件写入磁盘?

点赞
用户1458599
用户1458599

我找到了一个方法来做到这一点,而不是使用 waffle 模块提供的异步方法,我使用了内置的 lua io 模块以同步方式完成了任务:

local out = assert(io.open(path, "wb"))
out:write(req.form.file.data)
2017-01-12 08:42:00