同步文件保存在lua华夫饼干中

时间:2017-01-11 17:53:13

标签: asynchronous lua waffle

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

问题是在req.form.file上调用save函数是异步的,所以在实际保存文件之前执行。

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

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

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

有没有办法确保在继续使用lua华夫饼干应用程序中的其他命令之前将文件写入磁盘?

1 个答案:

答案 0 :(得分:1)

我找到了一种方法,而不是使用华夫饼模块提供的异步方法,我已经在lua io模块中使用了构建同步工作的模块:

local out = assert(io.open(path, "wb"))
out:write(req.form.file.data)