@@ -138,7 +138,7 @@ def site_file(site_id, file_id):
138
138
139
139
# Update post
140
140
elif request .method == 'PUT' :
141
- filename = b64decode (file_id ). decode ( )
141
+ filename = decode_filename (file_id )
142
142
if not repository .is_path_in (filename ):
143
143
abort (403 )
144
144
filemask = filename .rsplit ('-' , 1 )[0 ] + '-{}.' \
@@ -164,7 +164,7 @@ def site_file(site_id, file_id):
164
164
elif request .method == 'DELETE' :
165
165
if not Permission (('administrator' , site_id )):
166
166
abort (403 )
167
- filename = b64decode (file_id ). decode ( )
167
+ filename = decode_filename (file_id )
168
168
if not repository .is_path_in (filename ):
169
169
abort (403 )
170
170
filemask = filename .rsplit ('-' , 1 )[0 ] + '-{}.' \
@@ -180,7 +180,7 @@ def site_file(site_id, file_id):
180
180
181
181
# Return post
182
182
else :
183
- filename = b64decode (file_id ). decode ( )
183
+ filename = decode_filename (file_id )
184
184
if not repository .is_path_in (filename ):
185
185
abort (403 )
186
186
filemask = filename .rsplit ('-' , 1 )[0 ] + '-{}.' \
@@ -199,6 +199,10 @@ def site_file(site_id, file_id):
199
199
})
200
200
201
201
202
+ def decode_filename (file_id ):
203
+ return b64decode (file_id + '===' ).decode ()
204
+
205
+
202
206
# Response related drafts
203
207
@app .route ('/site/<site_id>/drafts' , methods = ['GET' ])
204
208
@cross_origin ()
0 commit comments