组合包含NULL的字符串

时间:2016-01-08 10:38:19

标签: vba null confluence-rest-api

我正在尝试使用confluence REST API将文件附加到Wiki页面。我使用VBA在excel中生成各种图形,并将它们保存为图像(目前为png / jpeg)。

然后我使用此处的example将文件作为附件上传到wiki。这种方法适用于文本文件,但是当我尝试使用图像时,我遇到了一些问题。特别是我理解代码:

.showing {
   animation: bounceInUp 1s;
}

尝试通过连接字符串将字符串边界添加到文件的二进制表示。我的问题是png的表示包含NUL

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 & "--"

会立即终止字符串,因此会丢失文件的其余部分和最终的字符串边界。我相信这会出现在excel中的所有字符串功能。

我的问题是我应该如何将字符串边界附加到我的文件中以避免此问题?

提前致谢:)

1 个答案:

答案 0 :(得分:1)

Alex K.指出我一直在做错误的假设。截断存在于我对问题的分析中,而不是实际的字符串。

问题实际上是由于我的错误 - 来自网站:

  

另一个警告是pvToByteArray函数。结果发送   方法无法处理“byref”字节数组,因此例如传递   baBuffer将失败,因为VB6设置了类型的VT_BYREF位   变量参数。

这是我执行的这部分代码不正确 - 这导致了失败和错误消息

  

500:流意外结束

纠正此问题后,问题就解决了。

再次感谢Alex。