NutzCN Logo
问答 针对对接ios和android的图片上传问题
发布于 560天前 作者 SayingCode 213 次浏览 复制 上一个帖子 下一个帖子
标签:

android端构建的http请求如这样

POST /api/file/upload HTTP/1.1
Content-Type: image/jpeg
User-Agent: Dalvik/1.6.0 (Linux; U; Android 4.4.3; HTC One Build/KTU84L)
Host: 192.168.0.50:8080
Connection: Keep-Alive
Accept-Encoding: gzip
Content-Length: 9152
{..... body ....}

我的服务端代码是:
@AdaptBy(type = WhaleAdaptor.class) //(这里我还用过(type = UploadAdaptor.class, args = {"ioc:imageUpload"}))
@POST
@At("/upload")
@Ok("json")
public Object image(@Param("filedata") TempFile[] temps,
@Attr(Constant.SESSION_KEY.UID) int uid,
AdaptorErrorContext err) {
请求后的结果都是空的文件;
我查看了请求,的确是把文件io丟到服务器了,个人感觉在adapter的地方没有做好解析;

问题:如何去捣鼓这个adapter? 或许该问这个Content-Type: image/jpeg 类型多种多样,如何来做适配?

4 回复

以header看,这不是表单上传,而是流上传,所以直接读流就好了

public Object image(InputStream ins, @Attr(Constant.SESSION_KEY.UID) int uid) {
    BufferedImage image = Images.read(ins);
	///
 }

嗯,是用的流的方式上传;
1.文件名咋个取呢?
2.多文件呢?是多个inputstream?
public Object image(InputStream[] ins, @Attr(Constant.SESSION_KEY.UID) int uid)
对不对?
3.可以同时支持表单和io流不?

  1. 你是说如何取到本地文件名? 写到 header 里咯,或者 URL 的 queryString 上
  2. 不是,只能单文件
  3. 不能

表单上传才能多文件

添加回复
请先登陆
回到顶部