Закодированный base64 от сервера к клиенту загружается как почтовый индекс - PullRequest
0 голосов
/ 03 ноября 2019

Я кодировал zip-файл как base64 на стороне сервера, используя python. Я делаю это так, чтобы клиент мог загрузить его в виде zip-файла. Я считаю, что на стороне сервера правильно, но я не могу найти ответ о том, как взять этот зашифрованный файл и загрузить его в формате zip с использованием Javascript. Я также очень новичок в JS.

Нужно ли мне загружать закодированный файл в виде большого двоичного объекта (не уверен, как это сделать), а затем загружать его в виде почтового индекса? Или преобразовать это в почтовый индекс?

Я попробовал следующее,

1.) https://stackoverflow.com/a/31172730/12292708 1a.) Проблема в том, что я понятия не имею, что делает этот код и что"baseURLDownload" и "QCPParameter" являются. Я заменил baseURL своим путем к файлу, но я действительно не знаю, правильно ли это или что должно идти в QCPParameter. Кроме того, XMLHttpRequest, похоже, не работает для меня.

2.) Я посмотрел на JSZip, но кажется, что с его помощью вы можете создавать новые файлы, добавлять их в свой zip, генерироватьblob, и загрузите это как почтовый индексЯ не уверен, как просто добавить уже закодированный файл, а затем загрузить.

Вот код, который я использую для кодирования zip-файла как base64

# grab all the csvs in logs/
   filelist = [ f for f in os.listdir("logs/") if f.endswith(".csv") ]
   # Add all CSVs to zip
   with ZipFile("data.zip",'w') as zip:
      for f in filelist:
         zip.write(os.path.join("logs/", f))

   # encode the zip file as base64 for client side
   path_to_zip64 = os.path.join("../webpage/resources/js", "data.zip.b64")
   with open('data.zip', 'rb') as fin, open(path_to_zip64, 'wb') as fout:
      base64.encode(fin, fout)

Мне просто нужно уметьсохранить файл в кодировке Python на сервере на стороне клиента.

Спасибо!

...