我有一个华夫饼干lua web应用程序,我需要使用一些命令行工具处理提交的视频文件。
问题是在req.form.file上调用save函数是异步的,所以在实际保存文件之前执行。
req.form.file:save{path=path}
当我在该路径上调用命令行工具ffprobe时,我收到指示无效数据的错误。在控制台中使用相同的命令可以按预期工作。
我的猜测是,当执行对ffprobe的调用时,文件尚未保存。
有没有办法确保在继续使用lua华夫饼干应用程序中的其他命令之前将文件写入磁盘?
答案 0 :(得分:1)
我找到了一种方法,而不是使用华夫饼模块提供的异步方法,我已经在lua io模块中使用了构建同步工作的模块:
local out = assert(io.open(path, "wb"))
out:write(req.form.file.data)