我有一個blob
。這是我使用<canvas>
調整大小的圖像。我已通過將其轉換爲網址來驗證數據是否正確,以根據the MDN guide進行測試。到現在爲止還挺好。現在,我想將它發佈到我的Django服務器(以及其他一些輸入)。如何使用Django發佈和檢索blob
所以我這樣做:
var fd = new FormData(form);
canvas.toBlob(function(blob) {
fd.set("image0", blob, "image0.jpg");
}, "image/jpeg", 0.7);
var xhr = new XMLHttpRequest();
xhr.open('POST', '/ajax-upload/', true);
xhr.setRequestHeader("X-CSRFToken", csrftoken);
xhr.send(fd);
我檢查與網絡檢查控制檯中的POST消息。我的blob被確認爲與POST請求一起發送,我可以看到二進制數據作爲「image0」字段發送。
-----------------------------1773139883502878911993383390
Content-Disposition: form-data; name="image0"; filename="blob"
Content-Type: image/png
所以我處理這個觀點POST請求,在URL /ajax-upload/
訪問:
def ajax_upload(request):
if request.method == 'POST':
print(request.POST.urlencode())
這給了我什麼。一旦我發現我的blob去了哪裏,我怎麼能把它變成Image
?像img = Image.open(request.POST["image0"])
?
什麼是request.FILES回來了? – Jerzyk
request.FILES顯示爲空:'' –
Escher