如何解决Trello使用vb.net上传附件
我编写了一个简单的VB.NET函数,将附件上传到Trello卡。问题是Trello没有将文件扩展名附加到上载的文件本身。
因此,当我通过Trello网站打开文件时,下载的HTML文件(“ Message.html”)没有适当的文件扩展名。我必须打开下载文件夹,然后将扩展名“ .html”手动添加到文件中。从那里,我可以毫无问题地打开文件。
我尝试使用Google搜索该问题,但找不到能够实现的解决方案。我该怎么做才能纠正这个问题?
子通话(通过按钮单击事件):
Private Sub Button1_Click(sender As Object,e As EventArgs) Handles Button1.Click
Dim oApp As Outlook.Application = Globals.ThisAddIn.Application
Dim sel As Outlook.Selection = oApp.ActiveExplorer.Selection
If sel.Count > 0 Then
Dim m As Outlook.MailItem = TryCast(sel.Item(1),Outlook.MailItem)
Dim c As Card = Trello.CreateCardTest(lvLists.SelectedItems(0).Tag,m.Subject,m.Body,"Outlook Message.html",m.HTMLBody)
' ! SEND ATTACHMENT CALL WITH OUTLOOK'S MESSAGE BODY IN HTML FORMAT
Trello.TestAttachment(c.shortLink,"Message.html",m.HTMLBody)
System.Diagnostics.Process.Start(c.url)
End If
Me.Close()
End Sub
对Trello的API调用的附加功能:
Public Function TestAttachment(CardID As String,Name As String,Data As Object) As XmlDocument
'API REFERENCE https://help.trello.com/article/769-adding-attachments-to-cards
' BUILD THE URI STRING; USE ME.TOKEN,ME.KEY PROPERTIES TO FILL URL
Dim UriString As String = $"https://api.trello.com/1/cards/{CardID}/attachments?token={Me.Token}&key={Me.Key}"
' BUILD FORM DATA QUERY
Dim FormDataSringBuilder As New StringBuilder
With FormDataSringBuilder
.Append("&")
.Append($"file={Data}")
.Append("&")
.Append($"name={Name}")
.Append("&")
.Append("mimeType=text/html")
End With
' MOVE FORM DATA STRING BUILDER TO STRING
Dim FormData As String = FormDataSringBuilder.ToString
' ENCODE THE DATA
Dim Encoding As UTF8Encoding = New System.Text.UTF8Encoding()
Dim FormDataByte As Byte() = Encoding.GetBytes(FormData)
' CREATE WEB REQUEST
Dim WebRequest As HttpWebRequest = HttpWebRequest.Create(UriString)
' SET WEB REQUEST PROPERTIES
With WebRequest
.Method = "POST"
.ContentType = "application/x-www-form-urlencoded"
.ContentLength = FormDataByte.Length
End With
' WRITE THE WEB REQUEST STREAM
Using RequestStream = WebRequest.GetRequestStream()
RequestStream.Write(FormDataByte,FormDataByte.Length)
End Using
' GET THE WEB RESPONSE
Dim WebResponse As HttpWebResponse = WebRequest.GetResponse()
' READ THE WEB RESPONSE TO AN XML DOCUMENT
Dim ResponseStreamReader As New StreamReader(WebResponse.GetResponseStream)
Dim XMLDoc As XmlDocument = JsonConvert.DeserializeXmlNode("{""root"":" + ResponseStreamReader.ReadToEnd + "}","root")
' RETURN THE XML DOCUMENT OBJECT
Return XMLDoc
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。