mirror of
https://github.com/SquidDev-CC/CC-Tweaked
synced 2024-09-04 07:22:39 +00:00
![Jonathan Coates](/assets/img/avatar_default.png)
This adds SPDX license headers to all source code files, following the REUSE[1] specification. This does not include any asset files (such as generated JSON files, or textures). While REUSE does support doing so with ".license" files, for now we define these licences using the .reuse/dep5 file. [1]: https://reuse.software/
1.3 KiB
1.3 KiB
module: [kind=event] file_transfer
since: 1.101.0
The @{file_transfer} event is queued when a user drags-and-drops a file on an open computer.
This event contains a single argument of type @{TransferredFiles}, which can be used to @{TransferredFiles.getFiles|get the files to be transferred}. Each file returned is a @{fs.BinaryReadHandle|binary file handle} with an additional @{TransferredFile.getName|getName} method.
Return values
- @{string}: The event name
- @{TransferredFiles}: The list of transferred files.
Example
Waits for a user to drop files on top of the computer, then prints the list of files and the size of each file.
local _, files = os.pullEvent("file_transfer")
for _, file in ipairs(files.getFiles()) do
-- Seek to the end of the file to get its size, then go back to the beginning.
local size = file.seek("end")
file.seek("set", 0)
print(file.getName() .. " " .. file.getSize())
end
Example
Save each transferred file to the computer's storage.
local _, files = os.pullEvent("file_transfer")
for _, file in ipairs(files.getFiles()) do
local handle = fs.open(file.getName(), "wb")
handle.write(file.readAll())
handle.close()
file.close()
end