【发布时间】:2011-03-24 00:03:28
【问题描述】:
我正在尝试通过 HTTP 1.1 POST 从客户端应用程序将文件上传到 ASP 2.0 Web 服务。如果我的网络服务函数声明为
<WebMethod()>
Public Function UploadFile(ByVal file as Byte(), ByVal fileName as String) as String
...
测试表说请求应该采用这种形式:
POST address_of_service HTTP/1.1
Host: <host>
Content-Type: application/x-www-form-urlencoded
Content-Length: length
file=string&file=string&fileName=string
如何将我的二进制文件数据转换为该格式?我尝试将文件数据转换为字符串并将其放入正文 (file=<string_data_here>) 但我收到 HTTP 500 错误,抱怨无法将其转换为 System.Byte。我在应用程序的其他地方使用纯字符串参数使 HTTP POST 工作正常。
另外,出于好奇,为什么文件参数显示两次?
【问题讨论】:
-
我认为上传文件需要将表单编码类型设置为“multipart/form-data”
标签: asp.net web-services file-upload