上传wav文件并使用python保存在目录中

问题描述 投票:0回答:1

这是我的db模型

     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 
python python-3.x file-upload web2py web2py-modules
1个回答
1
投票

Hamza,web2py将这些文件重命名为安全措施,以帮助防止目录遍历攻击。

© www.soinside.com 2019 - 2024. All rights reserved.