【发布时间】:2016-01-08 10:38:19
【问题描述】:
我正在尝试使用 confluence REST API 将文件附加到 wiki 页面。我使用 VBA 在 excel 中生成各种图表并将它们保存为图像(当前为 png/jpeg)。
然后我在这里使用example 将文件作为附件上传到wiki。这种方法适用于文本文件,但是当我尝试使用图像时,我遇到了一些问题。特别是据我了解的代码:
sPostData = "--" & STR_BOUNDARY & vbCrLf & _
"Content-Disposition: form-data; name=""uploadfile""; filename=""" & Mid$(sFileName, InStrRev(sFileName, "\") + 1) & """" & vbCrLf & _
"Content-Type: application/octet-stream" & vbCrLf & vbCrLf & _
sPostData & vbCrLf & _
"--" & STR_BOUNDARY & "--"
尝试通过连接字符串将字符串边界添加到文件的二进制表示。我的问题是 png 的表示包含 NUL
‰PNG
SUB
NULNULNUL
IHDRNULNULEOT+NULNULSTXSYNBSETXNULNULSOH>&Ǽ ...etc...
这会立即终止字符串,因此您会丢失文件的其余部分和最终的字符串边界。我相信这发生在 excel 中的所有字符串功能上。
我的问题是我应该如何将字符串边界附加到我的文件以避免这个问题?
提前致谢:)
【问题讨论】:
-
VBA 字符串不是以空字符结尾的,这意味着它们可以包含空字符,尽管这会导致字符串在调试器的某些部分被截断。
-
噢!你完全正确,由于这种截断,我误诊了这个问题。
标签: vba null confluence-rest-api