小编Rob*_*ski的帖子

JS:使用 Javascript 从字符串下载 zip 文件

我想从 Ajax 请求中以字符串形式接收 zip 文件,然后将其保存在内存中,以便在必要时可以多次下载,以便只发送一个请求。

我试着用这个下载它:

zip_string = 'PK etc.'

function download(filename, text) {
  var element = document.createElement('a');
  element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text));
  element.setAttribute('download', filename);

  element.style.display = 'none';
  document.body.appendChild(element);

  element.click();

  document.body.removeChild(element);
}

// Start file download.
download("zip1.zip", zip_string);
Run Code Online (Sandbox Code Playgroud)

它以拉链形式出现,但显然存在问题,因为它打不开。谁能看到我做错了什么?

javascript

5
推荐指数
1
解决办法
1万
查看次数

如何将URL分为三个不同的变量

我想将一个URL分成三个字符串。例:

https://www.google.com:443
http://amazon.com:467
Run Code Online (Sandbox Code Playgroud)

我希望输出为:

string 1: https or http
string 2: www.google.com or amazon.com
string 3: 443 or 467
Run Code Online (Sandbox Code Playgroud)

以上输出基于提供的示例。基本上我想分割字符串成protocoldomainport和分配给三个不同的变量。

python split python-3.x

3
推荐指数
1
解决办法
69
查看次数

贝宝智能支付:更改货币代码

我正在尝试在网页上设置 PayPal 智能支付。我正在使用他们在此处提供的示例:https : //developer.paypal.com/docs/checkout/integrate/

如果我currency_code设置为USD它工作正常,但如果我将其更改为其他任何内容,例如CADGBP窗口将无法加载。我究竟做错了什么?

<script src="https://www.paypal.com/sdk/js?client-id=sb"></script>
<script>
  paypal.Buttons({
    createOrder: function(data, actions) {
      return actions.order.create({
        'purchase_units': [{
          'amount': {
            'currency_code': 'USD',
            'value': '5',
          },
        }]
      })
    }
  }).render('body')
</script>
Run Code Online (Sandbox Code Playgroud)

出于某种原因,这个例子不会在 Stack Overflow 上运行,但它在 JSFiddle 上运行良好,所以我用currency_code不同的集合做了两个例子。

'currency_code': 'USD': https://jsfiddle.net/liquidmetalrob/8y3p52fh/

'currency_code': 'GBP': https://jsfiddle.net/liquidmetalrob/8y3p52fh/1

第一个示例将加载 PayPal 窗口,您需要一个 PayPal Sandbox 帐户才能登录。所以如果你想登录你可以使用我刚刚创建的一次性帐户。用户名:sb-ilukn1050819@personal.example.com密码:pRKCu9.>但重要的问题是为什么在第二个示例中窗口甚至没有加载?

paypal paypal-sandbox paypal-rest-sdk

3
推荐指数
1
解决办法
1023
查看次数

Python:带有原始 f 字符串的正则表达式仅在 50% 的时间内有效

我有一本货币代码字典,每个字典都有一组国家代码。我想用 Regex 搜索特定国家/地区的货币,因此我开始编写一个模式,但目前我所拥有的模式仅在 50% 的时间内有效。这是 Python 中的错误吗?

这是代码。确保至少运行它五到十次,看看它只在某些时候有效。

local_currencies = str({
    'GBP': {'UK'},
    'USD': {'US'},
    'EUR': {'FR', 'DE', 'IT'},
})

country = 'FR'
pattern = fr"'.{{3}}': ?\{{'{country}'"

print(re.search(pattern, local_currencies))
Run Code Online (Sandbox Code Playgroud)

python regex

1
推荐指数
1
解决办法
73
查看次数

Python/Django:提供 zip 文件以从 io.BytesIO 缓冲区下载

我正在尝试将 zip 文件放入 io.BytesIO 缓冲区中,然后提供下载。下面是我得到的内容(较长的views.py的一部分,我只是发布相关部分)。

但我收到以下错误消息:

AttributeError at 'bytes' object has no attribute 'read'
Run Code Online (Sandbox Code Playgroud)

谁能告诉我我做错了什么?

from django.http import HttpResponse
from wsgiref.util import FileWrapper
from zipfile import *
import io

buffer = io.BytesIO()

zipf = ZipFile(buffer, "w")
zipf.write ("file.txt")
zipf.close()

response = HttpResponse(FileWrapper(buffer.getvalue()), content_type='application/zip')
response['Content-Disposition'] = 'attachment; filename=file.zip'

return response
Run Code Online (Sandbox Code Playgroud)

编辑:它告诉我错误来自以下行:

response = HttpResponse(FileWrapper(buffer.getvalue()), content_type='application/zip')
Run Code Online (Sandbox Code Playgroud)

python django

0
推荐指数
1
解决办法
3625
查看次数