How to recognise text file from my linux pc via django code without checking its extension and also its file size?
Most of the time when we create a new text file with gedit in linux then the file is not saved with an extension of
.txt for text file.So how will I recognise it with django code because here I can't check file extension.Here is my code...
Let's say i have a resume field for each user in following models.py
resume= models.FileField( upload_to=get_attachment_file_path,default=None, null=True,validators=[validate_file_extension])
Now i want to Validate the file for allowed extension so I made a validators.py as below
megabyte_limit = 5.0 filesize = sys.getsizeof(fieldfile_obj) ext = os.path.splitext(fieldfile_obj.name) print("extensionnnnnnnnnnnnn",ext) valid_extensions = ['.pdf', '.doc', '.docx', '.jpg', '.png', '.xlsx', '.xls','.txt','.odt'] if not ext.lower() in valid_extensions: raise ValidationError(u'Unsupported file extension.') elif filesize > megabyte_limit*1024*1024: raise ValidationError("Max file size is %s Byte" % str(megabyte_limit))
Now whenever I upload a text file in my api then it says unsupported file type because the code is unable to get the extension of linux text file.So how can i recognise that text file which is not saved as
demo.txt instead my text file is saved as only
demo but it is text file as seen from property of that file.
Also my next question is to get the size of each file uploaded in that
FileField.I am using
PostgreSQL as Dbms