2

我正在使用 Loopj 的android-async-http这是我的代码:

File file = new File("sdcard/food.jpg");
params.put("image", file);

我的问题是,php 服务器接收到的图像application/octet-stream而不是image/jpg. 我需要它image/jpg作为我的服务器人员白名单上传的文件类型为image/jpg,image/png等。

更新 1

我尝试向应用程序添加内容类型参数。但是,php 代码仍将其识别为application/octet-stream.

params.put("image", new FileInputStream(file), "image/jpg");

更新 2

由于我需要继续这个项目,我们现在要做的是建议服务器人员使用 exif 来实现 mime 嗅探。在 php 中,我们使用exif_imagetype()来完成。一切都很好,到目前为止。在我们找到可在 android 中实现的解决方案之前,我将保持这个问题的开放性。

4

1 回答 1

2

我遇到了同样的问题,但我无法更改 application/octet-stream 但我改为在服务器上处理它:

    $info = getimagesize($_FILES['pic']['tmp_name']);
    $type=$info['mime'];

这里类型将显示为 image/jpg 而不是 application/octet-stream。

于 2015-02-17T12:25:19.190 回答