我正在研究服务器 - 客户端Web服务。
我希望服务器从url下载文件并返回文件内容的原始字节。
然而,似乎来自ajax的接收字节被清除。
这是服务器端:
from rest_framework.response import Response
import urllib2
class MyView(APIView):
def post(self, request):
url = request.DATA['url']
conn = urllib2.urlopen(url)
byte = conn.read()
conn.close()
return Response({'blob':byte})
这是客户端,
$.ajax({
url: 'myurl',
type: 'POST',
contentType: "application/json; charset=utf-8",
data: JSON.stringify({
"url": url,
}),
success: function(response, textStatus, jqXhr) {
if (response) {
try {
var blob=response.blob;
// process blob, but it is corrupted
} catch (e) {
displayError(e);
}
},
error: function(jqXHR, textStatus, errorThrown) {
var err = parseError(jqXHR, textStatus, errorThrown);
displayError(err);
}
});
使用django-rest框架执行此操作的正确方法是什么?
谢谢!