这是我的数据库模型
db.define_table('manage_music_file',
Field('action_is', requires=IS_IN_SET(('Insert',
'Remove')),notnull=True, default='Insert'),
Field('wav_file', 'upload', comment='Please upload your .wav
file',requires=IS_NOT_EMPTY()
)
这是我的控制器
def index():
form = SQLFORM(db.manage_music_file)
#return dict(form=form)
if form.process().accepted:
logger.debug(('here we ahve a form',form))
errors = []
if form.vars['action_is'] == 'Insert':
logger.debug(('where file need to place'))
if not form.vars['wav_file']:
errors.append('No file given')
return 'No file given'
else:
dirname='/var/lib/asterisk/sounds/musiconhold'
logger.debug(('where file need to place', dirname))
import os.path
completeName = os.path.join(dirname, form.vars.wav_file)
file1 = open(completeName, "a")
file1.close()
return dict(form=form)
我正在上传中发送WAV文件A.wav 但是我正在目录中以这种格式接收文件
manage_music_file.wav_file.a70701e297ffec7a.412e776176.wav
我也希望在目录中使用相同的名字A.wav
A.wav
答案 0 :(得分:1)
Hamza,web2py将这些文件重命名为一种安全措施,以帮助防止目录遍历攻击。