forked from greyli/flask-file-uploader
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathupload_file.py
67 lines (56 loc) · 2.26 KB
/
upload_file.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
import os
class uploadfile():
def __init__(self, name, type=None, size=None, not_allowed_msg=''):
self.name = name
self.type = type
self.size = size
self.not_allowed_msg = not_allowed_msg
self.url = "data/%s" % name
self.thumbnail_url = "thumbnail/%s" % name
self.delete_url = "delete/%s" % name
self.delete_type = "DELETE"
def is_image(self):
fileName, fileExtension = os.path.splitext(self.name.lower())
if fileExtension in ['.jpg', '.png', '.jpeg', '.bmp']:
return True
return False
def get_file(self):
if self.type != None:
# POST an image
if self.type.startswith('image'):
return {"name": self.name,
"type": self.type,
"size": self.size,
"url": self.url,
"thumbnailUrl": self.thumbnail_url,
"deleteUrl": self.delete_url,
"deleteType": self.delete_type,}
# POST an normal file
elif self.not_allowed_msg == '':
return {"name": self.name,
"type": self.type,
"size": self.size,
"url": self.url,
"deleteUrl": self.delete_url,
"deleteType": self.delete_type,}
# File type is not allowed
else:
return {"error": self.not_allowed_msg,
"name": self.name,
"type": self.type,
"size": self.size,}
# GET image from disk
elif self.is_image():
return {"name": self.name,
"size": self.size,
"url": self.url,
"thumbnailUrl": self.thumbnail_url,
"deleteUrl": self.delete_url,
"deleteType": self.delete_type,}
# GET normal file from disk
else:
return {"name": self.name,
"size": self.size,
"url": self.url,
"deleteUrl": self.delete_url,
"deleteType": self.delete_type,}