如何从django中的javascript获取二进制数据?

时间:2016-01-25 01:53:37

标签: javascript python django blob

我想从Django中的javascript访问二进制数据(blob)。我尝试使用表单并使用blob url,但这似乎并不适用于Django方面。

这是我在javascript中的blob:

var blobURL = window.URL.createObjectURL(blob);
document.getElementById("id_bloburl").value = blobURL;

id_audiofile的格式随后会提交给django。在Django中,我尝试使用:

访问blob网址中的数据
bin_data_url = form.cleaned_data['bloburl']
//download the file from bin_data_url

但似乎空洞。有关如何正确获取Django blob的任何想法吗?

1 个答案:

答案 0 :(得分:-1)

你能用ajax吗?我会使用base64编码和json(没有真正测试):

在javascript方面:

$.post(url, {data: $.base64.encode(blob)});

在Django / Python方面:

import base64
import simplejson

class BinaryView(View):
    def post(self, request):
        json = simplejson.decode(request.raw_post_data)
        base64.b64decode(json['data'])  # perhaps just the blob in base64?