def files_put(path):
"""
write(path, data, offset) -> PUT /files/<path>
{"data": "<base64 str>", "offset": <offset int>}
200 <bytes written int>
404 File not found.
"""
path = flask.safe_join(app.config['serve_dir'], path)
payload = flask.request.json
if 'data' not in payload:
return 'Missing data.', 400
elif 'offset' not in payload:
return 'Missing offset.', 400
data = base64.b64decode(payload['data'])
offset = int(payload['offset'])
# Open, seek, write, close
try:
fd = os.open(path, os.O_WRONLY)
os.lseek(fd, offset, os.SEEK_SET)
n = os.write(fd, data)
os.close(fd)
except FileNotFoundError:
return 'File not found.', 404
return flask.jsonify({"count": n})
评论列表
文章目录