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 (将#修改为@)