ブラウザのアップロードファイル+ Djangoのバックグラウンド処理

1、エンドJSブラウザプログラムの終了

     

 

 

2、Djangoのバックエンド処理プログラム

     アップロードするには、ブラウザからファイルを受信し、に格納されたファイルに指定したパスの下に置きます。

PRODUCT_ID = request.POST.get( 'PRODUCT_ID')
記号= request.POST.get( '記号')
FILE_SIZE = request.POST.get( 'FILE_SIZE')
sw_ver = request.POST.get( 'sw_ver')

file_dict = request.FILES.items()
file_dictない場合:
      のdict [ 'ステータス'] = 'ないファイルアップロード'
      戻り辞書
(K、V)file_dictにするため:
      logger.info( "DIC [%のS] =%sの" 、K、V)
      file_data = request.FILES.getlist(K)
      file_dataにおけるFLの場合:
            ファイル名= fl._get_name()
            logger.info( "=%sのファイル名"、ファイル名)

           path_file = BASE_PATH + "アップグレード/" + product_idの+ '/'

           logger.info("path_file=%s", path_file)
           if not os.path.exists(path_file):
                os.makedirs(path_file)
          logger.info("path_file=%s", path_file)
          path_file+=filename
          # logger.info( "path_file1=%s",path_file1)
          # path_file=path_file1.encode('gb2312')
          logger.info("path_file=%s", path_file)
          try:
              with open(path_file, "wb") as f:
              if fl.multiple_chunks():
                   logger.info("multiple_chunks")
                   for content in fl.chunks():
                        f.write(content)
             else:
                   data=fl.read() ###.decode('utf-8')
                   logger.info("not multiple_chunks=%s", data)
                   f.write(data)
            #except Exception as e:
            except:
                 #logger.info("error=%s", repr(e))
                   logger.info("file write fail")
                   dict['status'] = 'file write fail'
                   return dict

 

おすすめ

転載: www.cnblogs.com/huanhuaqingfeng/p/11130284.html
おすすめ