Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取多部分/相关类型图像/jpeg到Base64 JavaScript_Javascript_Multipart - Fatal编程技术网

获取多部分/相关类型图像/jpeg到Base64 JavaScript

获取多部分/相关类型图像/jpeg到Base64 JavaScript,javascript,multipart,Javascript,Multipart,如何阅读多部分/相关响应的内容? 答复首先是: --9d567d37-88c2-4dd6-91f0-9075025b081b Content-Location: https://test.com.br Content-ID: <a8298b3a-9577-4d79-8c43-e581a32b84f5@resteasy-multipart> Content-Type: image/jpeg 编辑2 身体反应,全身都有1MB,所以我在这里总结;内容是二进制jpeg,我不知道如何将其放在

如何阅读
多部分/相关
响应的内容?
答复首先是:

--9d567d37-88c2-4dd6-91f0-9075025b081b
Content-Location: https://test.com.br
Content-ID: <a8298b3a-9577-4d79-8c43-e581a32b84f5@resteasy-multipart>
Content-Type: image/jpeg
编辑2 身体反应,全身都有1MB,所以我在这里总结;内容是二进制jpeg,我不知道如何将其放在这里:

--12af3dc4-8f2e-446f-b078-bed5b580af35
Content-Location: https://....
Content-ID: <8db0cf57-06f2-402e-be99-5d6cb387c2b7@resteasy-multipart>
Content-Type: image/jpeg

ÿØÿàJFIFÿÛC     

 $.' ",#(7),01444'9=82<.342ÿÀ   ôôÿÄ    
ÿĵ}!1AQa"q2¡#B±ÁRÑð$3br    
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖ×ØÙÚáâãäåæçèéêñòóôõö÷øùúÿÚ?ã<]bVþSÓæÿ
à.b*Æ©0Á¤¢(Í(4ê/n´¡©wSÑ»4h'i>ôÜûѺô¤ÝM&9¢(¢ ¥òÍ8BÄÓÅ¿½9`§ù=p*D·ÝÏJ¤*«ÖÜ
fÜB£Ëçÿ+JifÊì8[1ëNû8£ÉÇjQG¥;Èt¥òE8FÖCOXy9<Æ õ£ÊÀâåäc¾W~áÐcQJcö GO   6äÓü¼þ4¢!i@téNòøëHaÎMq¶iÂ!´ñB#4íbQqèhnÉ4ª¸¡WOíÏ#X¦h+
zõ¦ùçvÁô ¨#iÐæ ô¢0G^qÖ¤ò
(RÞ<Ó¶ãØÔlÄð)J»&    ôæ`Ï­ OÎå#½
###ommited body here 1MB data###
~���"�r���i�O>�֝ ��FP3���޹�K���O_�MvA�h����:�A�jw�'>�).9��0:�i���j&���������FNS��3�;��~t��q�K�`r;�I�Ʃ����c+�5(����ڂ��N8��XL��C�A v��`��I��5(���LU
�t���p:P�#��`7JTn�T@�A�G�#ژ�"�9ɨ�?6���i��4ά}�?� 4�ى�=i���"�~?�Қ�zJ��+�J���֡?t��nv�V���H����+׽T�����T���=����j_���Tu�>�zF�x���Z��?�֠��G��Z�ҝ����k����������Q��ڙ���Zg��z�I���
0W��
--12af3dc4-8f2e-446f-b078-bed5b580af35--
--12af3dc4-8f2e-446f-b078-bed5b580af35
内容位置:https://....
内容ID:
内容类型:图像/jpeg
ÿØÿa JFIFÿC
$.' ",#(7),01444'9=82�֝ ��FP3���޹�K���O_�MvA�H����:�A.�jw�'>�).9��0:�我���j&���������FNS��3.�;��~T��Q�K�`R�我�Ʃ����c+�5(����ڂ��N8��特大号��C�A v��`��我��5(���鲁
�T���p:p�#��`7JTn�T@�A.�G�#ژ�"�9ɨ�?6.���我��4ά}�?� 4.�ى�=我���"�~?�Қ�zJ��+�J���֡t��内华达州�v���H����+׽T�����T���=����j_���屠�>�采埃孚�x���Z��?�֠��G��Z�ҝ����K����������Q��ڙ���Zg��Z�我���
0W��
--12af3dc4-8f2e-446f-b078-bed5b580af35--

如果我理解正确,您希望从服务器获取图像并将其用作预览。为此,您应该将响应类型标题设置为“blob”:

Response-Type: 'blob'
然后,要获取base64字符串,可以使用URL.createObjectUrl(Blob)或FileReader。 更多信息和差异

这就是通过axios和FileReader实现的方法:

const response = await axois.get('/your/url', {
  getParams,
  baseURL: 'https://www.your-base-url.com',
  responseType: 'blob'
});

const fileReader = new FileReader();
fileReader.readAsDataURL(response.data);
fileReader.onloadend = () => {
  const imageAsBase64String = reader.result;
};

如果我理解正确,您希望从服务器获取图像并将其用作预览。为此,您应该将响应类型标头设置为“blob”:

Response-Type: 'blob'
然后,要获取base64字符串,可以使用URL.createObjectUrl(Blob)或FileReader。 更多信息和差异

这就是通过axios和FileReader实现的方法:

const response = await axois.get('/your/url', {
  getParams,
  baseURL: 'https://www.your-base-url.com',
  responseType: 'blob'
});

const fileReader = new FileReader();
fileReader.readAsDataURL(response.data);
fileReader.onloadend = () => {
  const imageAsBase64String = reader.result;
};

您提出了什么请求并给出了响应?也许这会对您有所帮助:我正在使用带有response.blob()的FetchAPI不起作用。URL是敏感的,并且经过身份验证,所以我不能在这里发布完整的代码,我解决了调用另一个URL的问题,但是,我想获得关于该contentType的相同信息。我在Python中找到了相同的解决方案,但在JS中没有找到。您可以将响应解析为一个巨大的字符串并截断所有的头吗(可能与内容之间用一个空行隔开)只留下实际内容?您提出的请求是什么,它给了您响应?也许这会对您有所帮助:我正在使用带有response.blob()的fetch api不起作用。URL是敏感的,并且经过身份验证,所以我不能在这里发布完整的代码,我解决了调用另一个URL的问题,但是,我想获得关于该contentType的相同信息。我在Python中找到了相同的解决方案,但在JS中没有找到。您可以将响应解析为一个巨大的字符串并截断所有的头吗(可能与内容之间用一个空行隔开)只留下实际内容?结果是数据:multipart/related;base64,而不是image/jpeg,我怀疑文件读取器包含响应的所有内容,而不仅仅是jpeg内容。您可以显示请求(带标题和正文)以及Chrome中Devtools中网络部分的响应信息?结果是数据:multipart/related;base64,而不是image/jpeg,我怀疑文件读取器包含响应的所有内容,而不仅仅是jpeg内容。您是否可以在Chrome中的Devtools中显示请求(带有标题和正文)和网络部分的响应信息?