Exemple #1
0
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)
Exemple #2
0
def set_file_content(file_id):
    """Upload all the content at once (for small files)."""
    stored_file = StoredFile.objects(id=ObjectId(file_id)).first()
    data = request.data
    stored_file.md5 = md5(data).hexdigest()
    stored_file.length = len(data)
    num_of_chunks = len(data) / 262144
    if (len(data) % 262144) > 0:
        num_of_chunks += 1
    for i in range(num_of_chunks):
        chunk = FileChunk()
        chunk.files_id = stored_file.id
        chunk.n = i
        chunk.data = data[i * 262144:(i + 1) * 262144]
        chunk.save()
    stored_file.save()
    return JsonResponse(stored_file)