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:
parent
a70fa745b0
commit
c67ed16e10
@ -60,11 +60,12 @@ return function (connection, req, args)
|
|||||||
binaryData = binaryData .. string.char(currentByte)
|
binaryData = binaryData .. string.char(currentByte)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local mbTmpFilename = string.sub(mbFilename, 0, 27) .. '.dnl'
|
||||||
if (mbOffset > 0) then
|
if (mbOffset > 0) then
|
||||||
file.open(mbFilename .. '.dnl','a+')
|
file.open(mbTmpFilename,'a+')
|
||||||
else
|
else
|
||||||
file.remove(mbFilename .. '.dnl')
|
file.remove(mbTmpFilename)
|
||||||
file.open(mbFilename .. '.dnl','w+')
|
file.open(mbTmpFilename,'w+')
|
||||||
end
|
end
|
||||||
file.seek("set", mbOffset)
|
file.seek("set", mbOffset)
|
||||||
file.write(binaryData)
|
file.write(binaryData)
|
||||||
@ -74,8 +75,8 @@ return function (connection, req, args)
|
|||||||
|
|
||||||
if (fileSize == mbLen + mbOffset) then
|
if (fileSize == mbLen + mbOffset) then
|
||||||
file.remove(mbFilename)
|
file.remove(mbFilename)
|
||||||
file.rename(mbFilename .. '.dnl', mbFilename)
|
file.rename(mbTmpFilename, mbFilename)
|
||||||
file.remove(mbFilename .. '.dnl')
|
file.remove(mbTmpFilename)
|
||||||
|
|
||||||
if (string.sub(mbFilename, -4) == '.lua') then
|
if (string.sub(mbFilename, -4) == '.lua') then
|
||||||
file.remove(string.sub(mbFilename, 0, -3) .. "lc")
|
file.remove(string.sub(mbFilename, 0, -3) .. "lc")
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user