On Tuesday, October 8, 2019 at 11:30:59 AM UTC-7, jim kaubisch wrote:
>
>
> In several forms I have fields like to one below
>
> Field('the_file' , 'upload' , label=T('Audio File *'),
> default = False,
>
> uploadfolder=os.path.join(request.folder,'uploads/resources/audio')
> ),
>
>
> When I delete the db record containing the result of processing the field
> above, I also want to delete the actual uploaded file.
>
> If I "print" db.audios.the_file I get a sensible file name, e.g.
> "audios.the_file.87f39e4b2eac56a2.7331343035323830332e706466.mp3"
> but - if I pass db.audios.the_file to os.path.join, I get an exception -
> "EXCEPTION
> = join() argument must be str or bytes, not 'Field'"
> and - if I pass str(db.audios.the_file) to os.path.join I end up with
> something ending in 'uploads/resources/audio/the_file'
>
> Simple question. How do I get the name of the uploaded file in a form I
> can use in os.path.join
>
> Thanks
>
turns out, I don't think auto delete works for me.
I'm using "record_versioning", hence record delete doesn't actually delete
the record and, as far as I can tell, there is no "I really mean delete not
archive" option.
As far as I can tell, my only option (which I'm using) is to go directly to
the db and delete the record there (DELETE xxx FROM yyy WHERE id=zzz).
That indeed deletes the record and cascades, but bypasses the web2py "auto
delete". After the deletion the uploaded files remain:-(
Seems that without being able to get to the filename of the uploaded file
there's no way to delete it, and if you delete the db record you've lost
the only reference to the file so its now an orphan
--
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
---
You received this message because you are subscribed to the Google Groups
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/web2py/03b362cd-0b59-42d8-a9e7-83962181c5c5%40googlegroups.com.