django - ModelForm: upload file in chunks in custom path -
i have following situation:
models.py
class shapefile(models.model): name = models.slugfield() file = models.filefield(upload_to=get_upload_path) def get_upload_path(instance, filename): return os.path.join("my","custom","path",filename)views.py
def shapeing(request): if request.method == 'post': form = uploadform(request.post, request.files) if form.is_valid(): form.save()
in way, file uploaded automatically chunked? if not chunk , suggested in docs, i've tried following
models.py
from django.core.files.storage import default_storage class shapefile(models.model): name = models.slugfield() file = models.filefield(upload_to=get_upload_path) def get_upload_path_2(filename): return os.path.join(default_storage.path(''),"my","custom", "path","%s" % filename)views.py
from os import makedirs form os.path import dirname django.core.files.storage import default_storage def shapeing(request): if request.method == 'post': form = uploadform(request.post, request.files) if form.is_valid(): # split uploaded file chunks filename = request.files['file'] filepath = get_upload_path_2(filename) handle_uploaded_file(filename, filepath) # uploads file form.save() # uploads file again!!! def handle_uploaded_file(filename, filepath): makedirs(dirname(filepath)) open(filepath, 'wb+') destination: chunk in filename.chunks(): destination.write(chunk)
it works the file stored twice names compliant django docs, example myfile.zip , *myfile_1.zip*. 1 stored save() i'm not sure if chunked or not. please explain me if chunking automatic in modelform , maybe give me working example? have redefine save() method in order store "name" field , chunk "file" field? thanks.
Comments
Post a Comment