如何在Coldfusion中解析多部分/混合数据

另一个程序员

我正在使用REST服务,该服务会返回图像的斑点作为多部分/混合数据的一部分。内容中可以有1张或更多图片。此Blob的边界在Content-Type中返回。如果此多部分内容的边界是例如b4081556-a000-48d9-a4e5-xyz345,则响应看起来像这样:--boundary Content-Type:image / jpeg BLOB1 --boundary Content-Type:image / jpeg BLOB2 --boundary内容类型:image / jpeg BLOB3 --boundary--

我需要将此响应解析为单个图像文件(斑点),并将其显示在前端。我正在ColdFusion上执行此操作,并且尝试了所有一切都没有运气。为简单起见,我想首先使用一个带有一个图像的简单Blob。然后从中消除封装边界,并将内容读取到变量中,但是我不断收到此错误:

ColdFusion无法从指定的源文件创建映像。确保该文件是有效的图像文件。

错误消息的屏幕截图 这是我尝试提取封装边界的方法:

<cfset thumbnail_filecontent = currPageThumnail_raw_resp.fileContent.toByteArray()>
<cfset thumbnail_str = toString(thumbnail_filecontent)>

<!---remove the encapsulation boundary--->
<cfset content1 = removeChars(thumbnail_str, 1, 64)> 
<cfset content2 = Left(content1, Len(content1)-43)>

<!---Convert the string into binary--->
<cfset image_content = toBinary(toBase64(content2))>

<cfimage action="INFO" source="#image_content#" structname="objImageInfo" />
<cfdump var="#objImageInfo#"><cfabort>

我也尝试使用ImageNew(),但最终出现相同的错误。我不确定是否丢失了一些东西。我开始怀疑是否从响应中提取封装边界,然后使用文件内容是正确的(唯一的方法)?

如果那是唯一的方法,那么将字节数组转换为字符串,提取图像内容,然后将其转换回二进制以进行处理是个好主意吗?有没有更好的办法?

这是我第一次使用Multipart数据,任何帮助将不胜感激!提前致谢。

响应屏幕截图:

响应屏幕截图

另一个程序员

感谢@Ageax在此方面的帮助。我非常感谢!

我的解决方案与没有太大不同唯一的区别是图像/缩略图,并且指出它不需要嵌入Content-Type的边界。

<cfscript>
            var path = GetDirectoryFromPath(GetCurrentTemplatePath());
            destination = path & "\thumbnails\";
            contentType = "multipart/mixed";
            byteArrayDS = createObject("java", "javax.mail.util.ByteArrayDataSource").init(thumbnail_filecontent, contentType);
            mimeMP = createObject("java", "javax.mail.internet.MimeMultipart").init(byteArrayDS);

            // loop through parts
            for (i = 0; i < mimeMP.getCount(); i++) {
                writeOutput("<br>Processing part["& i &"]");
                bodyPart = mimeMP.getBodyPart( javacast("int", i)); 

                // **** NOTE: Update directory path ****
                if (!isNull(bodyPart)) {
                    outputFile = createObject("java", "java.io.File").init(destination &"thumbnail"& i &".png");
                    bodyPart.saveFile(outputFile);
                    writeOutput("<br>Saved: "& outputFile.getAbsolutePath());
                }
            } 
        </cfscript>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在wicket中解析多部分表单数据

来自分类Dev

如何在ASP.NET Core控制器中接收“多部分/混合”

来自分类Dev

如何在混合数据类型的数组中返回最短字符串?

来自分类Dev

卷曲如何发布多部分/表单数据数据以及如何在Flask请求中读取多部分/表单数据

来自分类Dev

如何在多部分/表单数据请求中获取文件的实际文件大小

来自分类Dev

如何在Azure Function中接收多部分表单数据?

来自分类Dev

如何处理/解析/读取“多部分/混合;边界=批”响应

来自分类Dev

如何处理/解析/读取“多部分/混合;边界=批”响应

来自分类Dev

如何在Swagger的Content-Type标头中添加多部分/混合的MIME边界

来自分类Dev

删除变量中的混合数据

来自分类Dev

如何在多部分过帐请求中传递参数

来自分类Dev

如何在Outlook中组织多部分会议?

来自分类Dev

如何在Linux中创建多部分rar文件?

来自分类Dev

如何在浏览器中显示多部分MIME

来自分类Dev

如何在R数据框中聚合数据

来自分类Dev

如何在C中将混合数据类型的文件读入字符串

来自分类Dev

如何在包含混合数据类型的Pandas DataFrame中对值进行取整以进一步进行数据比较?

来自分类Dev

如何通过Runscope发送多部分/混合HTTP POST请求?

来自分类Dev

如何使用预定义边界发送多部分/混合 CURL?

来自分类Dev

在单元测试中创建多部分/混合形式请求

来自分类Dev

Spring MultipartFiles在混合的多部分中重复文件

来自分类常见问题

如何将混合数据类型(int,float,char等)存储在数组中?

来自分类Dev

如何处理 numpy 数组中的混合数据类型

来自分类Dev

Excel:如何将单列混合数据排序到表格中

来自分类Dev

如何解析由多部分HTML表单发送的文件以及其他数据?

来自分类Dev

在Django-rest-framework中解析多部分/表单数据

来自分类Dev

Express:解析多部分/表单数据中的字符串数组

来自分类Dev

连接终止在 Angulrjs 和 JAX-RS 中解析多部分数据

来自分类Dev

多部分表单数据是如何工作的?

Related 相关文章

  1. 1

    如何在wicket中解析多部分表单数据

  2. 2

    如何在ASP.NET Core控制器中接收“多部分/混合”

  3. 3

    如何在混合数据类型的数组中返回最短字符串?

  4. 4

    卷曲如何发布多部分/表单数据数据以及如何在Flask请求中读取多部分/表单数据

  5. 5

    如何在多部分/表单数据请求中获取文件的实际文件大小

  6. 6

    如何在Azure Function中接收多部分表单数据?

  7. 7

    如何处理/解析/读取“多部分/混合;边界=批”响应

  8. 8

    如何处理/解析/读取“多部分/混合;边界=批”响应

  9. 9

    如何在Swagger的Content-Type标头中添加多部分/混合的MIME边界

  10. 10

    删除变量中的混合数据

  11. 11

    如何在多部分过帐请求中传递参数

  12. 12

    如何在Outlook中组织多部分会议?

  13. 13

    如何在Linux中创建多部分rar文件?

  14. 14

    如何在浏览器中显示多部分MIME

  15. 15

    如何在R数据框中聚合数据

  16. 16

    如何在C中将混合数据类型的文件读入字符串

  17. 17

    如何在包含混合数据类型的Pandas DataFrame中对值进行取整以进一步进行数据比较?

  18. 18

    如何通过Runscope发送多部分/混合HTTP POST请求?

  19. 19

    如何使用预定义边界发送多部分/混合 CURL?

  20. 20

    在单元测试中创建多部分/混合形式请求

  21. 21

    Spring MultipartFiles在混合的多部分中重复文件

  22. 22

    如何将混合数据类型(int,float,char等)存储在数组中?

  23. 23

    如何处理 numpy 数组中的混合数据类型

  24. 24

    Excel:如何将单列混合数据排序到表格中

  25. 25

    如何解析由多部分HTML表单发送的文件以及其他数据?

  26. 26

    在Django-rest-framework中解析多部分/表单数据

  27. 27

    Express:解析多部分/表单数据中的字符串数组

  28. 28

    连接终止在 Angulrjs 和 JAX-RS 中解析多部分数据

  29. 29

    多部分表单数据是如何工作的?

热门标签

归档