Fix bigfile upload
This commit is contained in:
parent
447ab47d59
commit
87abdb92e9
1 changed files with 7 additions and 3 deletions
|
@ -112,10 +112,14 @@ class UiRequestPlugin(object):
|
||||||
})
|
})
|
||||||
|
|
||||||
def readMultipartHeaders(self, wsgi_input):
|
def readMultipartHeaders(self, wsgi_input):
|
||||||
|
found = False
|
||||||
for i in range(100):
|
for i in range(100):
|
||||||
line = wsgi_input.readline()
|
line = wsgi_input.readline()
|
||||||
if line == "\r\n":
|
if line == b"\r\n":
|
||||||
|
found = True
|
||||||
break
|
break
|
||||||
|
if not found:
|
||||||
|
raise Exception("No multipart header found")
|
||||||
return i
|
return i
|
||||||
|
|
||||||
def actionFile(self, file_path, *args, **kwargs):
|
def actionFile(self, file_path, *args, **kwargs):
|
||||||
|
@ -329,7 +333,7 @@ class ContentManagerPlugin(object):
|
||||||
file_info = self.site.content_manager.getFileInfo(inner_path)
|
file_info = self.site.content_manager.getFileInfo(inner_path)
|
||||||
piecemap_inner_path = helper.getDirname(file_info["content_inner_path"]) + file_info["piecemap"]
|
piecemap_inner_path = helper.getDirname(file_info["content_inner_path"]) + file_info["piecemap"]
|
||||||
self.site.needFile(piecemap_inner_path, priority=20)
|
self.site.needFile(piecemap_inner_path, priority=20)
|
||||||
piecemap = Msgpack.unpack(self.site.storage.open(piecemap_inner_path).read())[helper.getFilename(inner_path)]
|
piecemap = Msgpack.unpack(self.site.storage.open(piecemap_inner_path, "rb").read())[helper.getFilename(inner_path)]
|
||||||
piecemap["piece_size"] = file_info["piece_size"]
|
piecemap["piece_size"] = file_info["piece_size"]
|
||||||
return piecemap
|
return piecemap
|
||||||
|
|
||||||
|
@ -455,7 +459,7 @@ class SiteStoragePlugin(object):
|
||||||
piece_num = int(math.ceil(float(file_info["size"]) / file_info["piece_size"]))
|
piece_num = int(math.ceil(float(file_info["size"]) / file_info["piece_size"]))
|
||||||
if os.path.isfile(file_path):
|
if os.path.isfile(file_path):
|
||||||
if sha512 not in self.piecefields:
|
if sha512 not in self.piecefields:
|
||||||
if open(file_path).read(128) == "\0" * 128:
|
if open(file_path, "rb").read(128) == b"\0" * 128:
|
||||||
piece_data = "0"
|
piece_data = "0"
|
||||||
else:
|
else:
|
||||||
piece_data = "1"
|
piece_data = "1"
|
||||||
|
|
Loading…
Reference in a new issue