python3 上传文件uploadfile

frombottleimportroute, run

frombottleimportrequest

#定义上传路径

save_path = './upload'

#文件上传的HTML模板

@route('/upload')

defupload():

return'''

    ''""

#文件上传,overwrite=True为覆盖原有的文件,

#如果不加这参数,当服务器已存在同名文件时,将返回“IOError: File exists.”错误

@route('/upload', method = 'POST')

defdo_upload():

upload   = request.files.get('data')

upload.save(save_path,overwrite=True)#把文件保存到save_path路径下

return'ok'

run(host='0.0.0.0', port=8080, debug=True)



此外,上传的文件对象,还有这二个属性

filename  :文件名

content_type :文件类型

如上面的代码,上传文件的时候,要获取文件名,就要用upload.filename, 要获取文件类型就用upload.content_type。这二件很实用,一般要先修改上传的文件名后,再保存到服务器中,content_type则可以检测文件是什么类型的文件,如果符合我们的上传类型,才保存。

@route('/upload', method = 'POST')

defdo_upload():

upload = request.files.get('data')

importos.path

name, ext =os.path.splitext(upload.filename)#用os.path.splitext方法把文件名和后缀相分离

upload.filename = ''.join(('123',ext))#修改文件名

upload.save(save_path,overwrite=True)#把文件保存到save_path路径下

returnu'上传成功  原文件名是:%s  文件后缀名是:%s \n 修改后的文件名是:%s' %(name,ext,''.join(('123',ext)))

你可能感兴趣的:(python3 上传文件uploadfile)