2016-05-20 2 views
0

У меня есть этот рабочий код в PythonОтправить данные изображения с просьбой AJAX

reponse = requests.post(url, auth=auth, data=open('image.jpg','rb')) 

мне нужно сделать то же самое с помощью AJAX, только в этом случае изображение base64 закодирован

$.ajax({type: 'POST', 
     username: username, 
     password: password, 
     data: atob(image), 
     url: url, 
     success: function(response) { ... }}); 

также попытался

var fd = new FormData(); 
fd.append('fname', 'image.jpg'); 
fd.append('data', atob(image)); 
$.ajax({type: 'POST', 
     username: username, 
     password: password, 
     data: fd, 
     processData: false, 
     contentType: false, 
     url: url, 
     success: function(response) { ... }}); 

Я не могу заставить его работать. Сам вызов имеет успех, но API с другой стороны, похоже, не получает изображение. Что мне не хватает?

+0

Серверу необходимо декодировать кодировку Base64. –

ответ

0

По-видимому, contentType необходимо установить вручную для значения, соответствующего данным. Теперь он работает с соответствующим типом contentType.

Смежные вопросы