首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从httpListenerRequest解析文件数据

如何从httpListenerRequest解析文件数据
EN

Stack Overflow用户
提问于 2012-09-06 23:25:50
回答 1查看 833关注 0票数 2

我正在尝试解析httpListenerRequest的输入流,但遇到了严重的多部分/表单数据问题。

下面是一个raw帖子的例子:

代码语言:javascript
复制
POST http://removed/ HTTP/1.1
Content-Type: multipart/form-data; boundary=-------------------------8cf5a569f9a4d4a
Host: removed
Content-Length: 15600
Expect: 100-continue
Proxy-Connection: Keep-Alive



---------------------------8cf5a569f9a4d4a
Content-Disposition: form-data; name="realname"

james
---------------------------8cf5a569f9a4d4a
Content-Disposition: form-data; name="username"

jrb1978
---------------------------8cf5a569f9a4d4a
Content-Disposition: form-data; name="password"

password
---------------------------8cf5a569f9a4d4a
Content-Disposition: form-data; name="public"

0
---------------------------8cf5a569f9a4d4a
Content-Disposition: form-data; name="group"

0
---------------------------8cf5a569f9a4d4a
Content-Disposition: form-data; name="avatar"; filename="Untitled.png"
Content-Type: image/png

?PNG
//jibberish filedata here
---------------------------8cf5a569f9a4d4a

那么,我到底该如何获取图像数据呢?我可以用流读取器将输入流读取为字符串,以提取前5个表单变量,但我不知道如何提取图像数据,因为将其转换为字符串会损坏它?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-17 05:36:43

检查http://msdn.microsoft.com/en-us/library/6196h3wt.aspx以确保您的字符串被正确解码。

然后使用以下函数将包含图像的字符串部分转换为字节数组:

代码语言:javascript
复制
 Public Shared Function StrToByteArray(str As String) As Byte()
    Dim encoding As New System.Text.UTF8Encoding()
    Return encoding.GetBytes(str)
 End Function 'StrToByteArray

然后使用此函数将字节数组转换为图像:

代码语言:javascript
复制
 Private Function BytesToImage(ByVal ImageBytes() As Byte) As Image
    Dim imgNew As Image
    Dim memImage As New System.IO.MemoryStream(ImageBytes)
    imgNew = Image.FromStream(memImage)
    Return imgNew
 End Function
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12303395

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档