def write_chunks(): for chunk in FileChunk.objects(files_id=stored_file.id).order_by('+n'): if chunk.n >= start_chunk_number and chunk.n <= end_chunk_number: start = 0 end = stored_file.chunkSize if chunk.n == start_chunk_number: start = start_index if chunk.n == end_chunk_number: end = end_index yield chunk.data[start:end]
def add_chunk_to_file(file_id, result_id=None): """Add content to a file (chunk by chunk).""" stored_file = StoredFile.objects(id=ObjectId(file_id)).first() num_of_chunks = len(FileChunk.objects(files_id=stored_file.id)) chunk = FileChunk() chunk.files_id = stored_file.id chunk.n = num_of_chunks chunk.data = request.data chunk.save() stored_file.length += len(request.data) stored_file.save() return JsonResponse(stored_file)
def write_chunks(): for chunk in FileChunk.objects(files_id=stored_file.id).order_by('+n'): yield chunk.data