如何在 Lua 中执行完代码后保留临时文件

上传的文件以 tmpfile() 表示,并且在脚本退出时将被删除。如何硬链接此文件以保留其内容并在删除 tmpfile() 后使用?如何通过句柄获取文件名称?

> a=io.tmpfile()
> print(a)
file (0x20c8790)
> lfs=require"lfs"
> lfs.link(a,"/tmp/aaaa")
stdin:1: bad argument #1 to 'link' (string expected, got FILE*)
stack traceback:
    [C]: in function 'lfs.link'
    stdin:1: in main chunk
    [C]: in ?

这个文件太大了,无法按字节复制到另一个地方。

点赞
用户9608077
用户9608077

io.tmpfile使用了stdio.h中的tmpfile函数,因此无法调整该导出函数。 您可以使用诸如pl.path之类的库来获取临时文件的完整路径。

2016-02-28 20:14:45