android 上传图片或文件都是怎么弄的?

2015-03-26 08:51:08 +08:00
 vagrant
我google到的方法: 1.自己构造multipary 2.使用MultipartyEntity. 3.第三方开源库如android-aync-http

我想请问下,各位实际上怎么向服务器传图片的? 如果上传图片的同时增加图片描述之类的字段呢?
4217 次点击
所在节点    问与答
23 条回复
finian
2015-03-26 13:13:47 +08:00
@vagrant 这样吧,你先说清楚请求体的 Content-Type 究竟是什么类型?multipart/form-data 还是 application/x-www-form-urlencoded 还是你们自定义的格式
vagrant
2015-03-26 13:17:16 +08:00
@finian multipart/form-data 我想知道怎么传过去,一般参数的api地址的Content-Type是 application/x-www-form-urlencoded直接写入得到的输出流就可以了, 但是我不知道对于multipart/form-data 怎么同时弄图片和参数?
finian
2015-03-26 13:27:17 +08:00
@vagrant 如果是 multipart/form-data 的话,那你的请求体就是类似这样的:

...
Content-Type: multipart/form-data; boundary=xxx

--xxx
Content-Disposition: form-data; name="foo"

bar
--xxx
Content-Disposition: form-data; name="pic"
Content-Type: application/octet-stream

<图片二进制数据>
--xxx--

所以你传图片数据(还有额外参数)时,按照 multipart/form-data 的格式构造请求体 post 过去就行。建议你用开源库,比如 OkHttp 之类的,构造请求体的方法都是封装好的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/179401

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX