2013/3/4 msoulier <msoul...@digitaltorque.ca>

> Hi,
>
> I'm using a ModelForm to upload a large file that ends up being
> written to a tempfile on disk. When I call form.save(), the file gets
> copied to the final filename, but the tempfile is left behind on disk.
>
> I am using a custom handler, which is a TemporaryFileUploadHandler
> subclass, but each method I override calls the parent class' method
> first.
>
> Is the tempfile supposed to be left behind?
>
> Thanks
>
> Hello,
I am not an experienced django developer so maybe this solution doesnt
follow 'the django way', but as i read at:
http://docs.nullpobug.com/django/trunk/django.core.files.uploadhandler-pysrc.html#FileUploadHandler.new_file
TemporaryFileUploadHandler subclass FileUploadHandler. The 'new_file'
method at FileUploadHandler saves
the file name at the class instance as 'file_name' (self.file_name). So, i
would try to overrite the 'file_complete'
method from my own class that subclass TemporaryFileUploadHandler and do
something like:

class MyTemporaryFileUploadHandler(TemporaryFileUploadHandler):

    def file_complete(self, file_size):
        if os.path.isfile(self.file_name):
            os.unlink(self.file_name)
        super(TemporaryFileUploadHandler, self).file_complete(file_size)

I'm not sure if self.file_name points to the temporary file, so maybe this
is not util.


-- 
"Code without tests is broken by design." - Jacob Kaplan-Moss
Show me the mone ... code!: https://bitbucket.org/edvm

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-users+unsubscr...@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to