我有一个字节字符串,试图将其转换为文件,但我不断收到错误消息:
pelle
我实现的代码如下:
riga_corrente
从json文件读取字节字符串,它看起来像这样,但是它更长了,我刚刚复制了一些字符。
OS Error cannot identify image file <_io.BytesIO object at 0x03BBD330>
答案 0 :(得分:0)
我不确定是否完全可以解决此问题,因为您遇到的问题是json.load(imageFile)["IMAGE_DATA"]
将返回"b'bytes'"
,当它转换为字节数组时,您将正在做bytearray("b\'bytes\'")
,这是错误的。
此行为在JSON解析器之间是特定的,并且不同的JSON解析器可能会以不同的方式解释
要么剥离包裹字节串的b''
,要么做ast.literal_eval()
def test_view(request):
with open("test_json.json") as imageFile:
b = bytearray(
ast.literal_eval(
json.load(imageFile)["IMAGE_DATA"], 'utf8')
print(b)
image = Image.open(io.BytesIO(b))
response = HttpResponse(content_type="image/jpeg")
image.save(response, "JPEG")
return response