是否可以从八位字节流中提取文件名?

is it possible to Extract file name from octet stream?

我必须通过 api 发送从 S3 获取的八位字节流。我需要更改收到的文件的名称。 八位位组流是否包含文件名?如果是,如何从八位字节流中提取文件名?如果不是,是否有任何其他方式发送八位字节流并为其附加文件名?

另一种方法是在将文件保存到 S3 之前更改文件名。但我想知道是否可以操纵八位字节流。

import dw::module::Multipart
output multipart/form-data 
---
{
  parts: {
    part1: Multipart::field({name:"data",value: vars.xmlData, mime:"application/xml"}),
    part2: Multipart::field({name:"file",value: vars.docAsBytes,mime:"application/octet-stream"})
  }
}

编辑:

这对我有用

output multipart/form-data
---
{
                parts : {
                    file : {
                            headers : {
                                "Content-Disposition" : {
                                "name": "file",
                                "filename": "abcdef.jpeg"     
                            },
                            "Content-Type" : "image/jpeg",
                        },
                        content : vars.base64string
                    }
       
                }
            

长话短说:八位字节流不包含任何文件名,除非它是某种结构,只是编码为八位字节流 - 但在大多数情况下,它只是文件的二进制数据。

对于以 multipart/form-data 格式发送文件名,Content-Disposition header 被认为是标准格式。