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.
This commit is contained in:
Gregor Hartmann 2017-10-02 15:50:47 +02:00 committed by Marcos
parent a70fa745b0
commit c67ed16e10

View File

@ -60,11 +60,12 @@ return function (connection, req, args)
binaryData = binaryData .. string.char(currentByte)
end
local mbTmpFilename = string.sub(mbFilename, 0, 27) .. '.dnl'
if (mbOffset > 0) then
file.open(mbFilename .. '.dnl','a+')
file.open(mbTmpFilename,'a+')
else
file.remove(mbFilename .. '.dnl')
file.open(mbFilename .. '.dnl','w+')
file.remove(mbTmpFilename)
file.open(mbTmpFilename,'w+')
end
file.seek("set", mbOffset)
file.write(binaryData)
@ -74,8 +75,8 @@ return function (connection, req, args)
if (fileSize == mbLen + mbOffset) then
file.remove(mbFilename)
file.rename(mbFilename .. '.dnl', mbFilename)
file.remove(mbFilename .. '.dnl')
file.rename(mbTmpFilename, mbFilename)
file.remove(mbTmpFilename)
if (string.sub(mbFilename, -4) == '.lua') then
file.remove(string.sub(mbFilename, 0, -3) .. "lc")