misc: use strings when distributing base64 to json (#36515)

This commit is contained in:
Frédéric Péters 2019-11-16 11:27:53 +01:00
parent 72bd7af167
commit 6875bf8954
2 changed files with 4 additions and 4 deletions

View File

@ -14,7 +14,7 @@ import time
import json
import sys
from django.utils.encoding import force_bytes
from django.utils.encoding import force_bytes, force_text
from django.utils.six import StringIO
from django.utils.six.moves.urllib import parse as urllib
from django.utils.six.moves.urllib import parse as urlparse
@ -783,7 +783,7 @@ def test_formdef_submit_with_varname(pub, local_user):
'date': '1970-01-01',
'file': {
'filename': 'test.txt',
'content': base64.b64encode(b'test'),
'content': force_text(base64.b64encode(b'test')),
},
'map': {
'lat': 1.5,
@ -805,7 +805,7 @@ def test_formdef_submit_with_varname(pub, local_user):
(1970, 1, 1, 0, 0, 0, 3, 1, -1))
assert data_class.get(resp.json['data']['id']).data['4'].orig_filename == 'test.txt'
assert data_class.get(resp.json['data']['id']).data['4'].get_content() == 'test'
assert data_class.get(resp.json['data']['id']).data['4'].get_content() == b'test'
assert data_class.get(resp.json['data']['id']).data['5'] == '1.5;2.25'
# test bijectivity
assert (formdef.fields[3].get_json_value(data_class.get(resp.json['data']['id']).data['3']) ==

View File

@ -1033,7 +1033,7 @@ class FileField(WidgetField):
'field_id': self.id,
'filename': value.base_filename,
'content_type': value.content_type or 'application/octet-stream',
'content': base64.b64encode(value.get_content())
'content': force_text(base64.b64encode(value.get_content())),
}
def from_json_value(self, value):