我目前正在开发一个使用VB.NET的应用程序,其中使用了REST WebServices。我已经能够使用REST完成基础知识,但是,我无法添加附件(更具体地说,上传文件,使用附加的REST)。我在网上做了大量的研究,但到目前为止,我还没有能够在VB.NET中找到任何工作示例。要真正上传我使用System.Net.WebClient的数据。下面的VB.NET代码做的重要工作:使用REST WebService和VB.NET的附件
Dim Client As New System.Net.WebClient
Dim postBytes As Byte() = System.Text.Encoding.ASCII.GetBytes(postString)
Client.UploadData(URL, "POST", postBytes)
我的URL的简化版本如下: "../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)' – 2011-05-26 17:09:13
感谢您的建议。似乎没有为我工作,但是,你怎么实际添加附件?我们正在浏览REST界面,所以在我们去的URL的末尾:“URL \ content = ...附件:filename.xtension操作:评论.... attachment_1 =”+ Convert.ToBase64String(FileAsBytes(文件) )其中FileAsBytes()是一个函数,可以将附件文件转换为字节,但是,响应会回到:“...错误的请求...”,无法记住部分的确切语句,因为现在不工作,任何建议或更精确的细节?谢谢。 – Devin 2011-06-05 04:14:41