问题描述
我编写了一个简单的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
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 (将#修改为@)