首页 > 解决方案 > 使用 webrequest 发布表单数据并上传文件

问题描述

我需要上传一个带有 webrequest 的文件,并将它与请求中的一些其他表单数据结合起来。今天我的帖子请求如下所示:

 Protected Function PostData(ByRef url As String, ByRef POST As String, ByRef Cookie As System.Net.CookieContainer) As String
    Dim request As HttpWebRequest
    Dim response As HttpWebResponse
    request = CType(WebRequest.Create(url), HttpWebRequest)
    request.ContentType = "application/x-www-form-urlencoded"
    request.ContentLength = POST.Length
    request.Method = "POST"
    request.AllowAutoRedirect = False

    Dim requestStream As Stream = request.GetRequestStream()
    Dim postBytes As Byte() = Encoding.ASCII.GetBytes(POST)
    requestStream.Write(postBytes, 0, postBytes.Length)
    requestStream.Close()
    response = CType(request.GetResponse, HttpWebResponse)
    Return New StreamReader(response.GetResponseStream()).ReadToEnd()
End Function

字符串 post(在 request.ContentLength 中)现在包含此表单数据:

"access_token=xxyyzzz"

现在我还想添加此表单数据参数:文件(要上传的 pdf 文件)收件人电子邮件(字符串值)收件人名称(字符串值)

我如何需要更改 PostData 函数才能在 webrequest 中发布文件和字符串数据?

感谢帮助!

彼得

标签: asp.netvb.net

解决方案


推荐阅读