【发布时间】:2011-05-26 15:41:04
【问题描述】:
我目前正在使用 VB.NET 开发一个应用程序,其中我正在使用 REST WebServices。我已经能够使用 REST 完成基本操作,但是,我无法添加附件(更具体地说,使用附加的 REST 上传文件)。我在网上进行了广泛的研究,但到目前为止,我还没有在 VB.NET 中找到任何工作示例。要实际上传数据,我使用 System.Net.WebClient。下面的 VB.NET 代码完成了重要的工作:
Dim Client As New System.Net.WebClient
Dim postBytes As Byte() = System.Text.Encoding.ASCII.GetBytes(postString)
Client.UploadData(URL, "POST", postBytes)
我的网址的简化版本如下:
"../REST/1.0/ticket/" + ticketNumber + "/comment?user=" + userName + "&pass=" + password
最后,我发布的内容的一个例子是:
postString = "content=Text: RT Test" + vbLf + "Action: Comment" + vbLf + "Attachment: examplefile.jpg" + vbLf + "attachment_1="
如您所见,postString 被转换为字节,然后上传到服务器。但是,我不知道应该在哪里或如何发布原始附件本身。我们专门使用状态来使用变量“attachment_1”的服务的文档,我将其添加到 postString 变量中,但我不确定下一步应该是什么。是否应该将文件转换为字节并附加到 postBytes 变量?我尝试了类似的操作,但收到一条错误消息,提示找不到 examplefile.jpg 的附件。
感谢您的帮助!
【问题讨论】:
-
你试过Base64编码数据吗?
Convert.ToBase64String(bytes) -
感谢您的建议。似乎对我不起作用,但是,您实际上是如何添加附件的?我们正在通过 REST 接口,所以在 URL 的末尾我们去:“URL\content=... Attachment: filename.xtension Action: comment .... attachment_1=" + Convert.ToBase64String(FileAsBytes(the file) ) 其中 FileAsBytes() 是将附件文件转换为字节的函数,但是,响应返回为:“......错误请求......”,不记得部分的确切措辞,因为现在不工作,任何建议或更精确的细节?谢谢。
标签: vb.net rest attachment rt