Skip to content

Commit c67ed16

Browse files
HHHartmannmarcoskirsch
authored andcommitted
Support long filenames in upload (#115)
appending '.dnl' to the filename shortens the available filename length by 4 chars. Now a long filename ist cut off first and then the dnl is appended resulting in a unique but short enough temp filename.
1 parent a70fa74 commit c67ed16

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

http/upload.lua

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -60,11 +60,12 @@ return function (connection, req, args)
6060
binaryData = binaryData .. string.char(currentByte)
6161
end
6262

63+
local mbTmpFilename = string.sub(mbFilename, 0, 27) .. '.dnl'
6364
if (mbOffset > 0) then
64-
file.open(mbFilename .. '.dnl','a+')
65+
file.open(mbTmpFilename,'a+')
6566
else
66-
file.remove(mbFilename .. '.dnl')
67-
file.open(mbFilename .. '.dnl','w+')
67+
file.remove(mbTmpFilename)
68+
file.open(mbTmpFilename,'w+')
6869
end
6970
file.seek("set", mbOffset)
7071
file.write(binaryData)
@@ -74,8 +75,8 @@ return function (connection, req, args)
7475

7576
if (fileSize == mbLen + mbOffset) then
7677
file.remove(mbFilename)
77-
file.rename(mbFilename .. '.dnl', mbFilename)
78-
file.remove(mbFilename .. '.dnl')
78+
file.rename(mbTmpFilename, mbFilename)
79+
file.remove(mbTmpFilename)
7980

8081
if (string.sub(mbFilename, -4) == '.lua') then
8182
file.remove(string.sub(mbFilename, 0, -3) .. "lc")

0 commit comments

Comments
 (0)