如何设置上传的jpg类型被识别为" image / jpg"而不是" application / octet-stream"

时间:2014-03-27 00:43:03

标签: android loopj android-async-http

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

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

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

更新1

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

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

更新2

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

1 个答案:

答案 0 :(得分:2)

我遇到了同样的问题,但我无法更改应用程序/八位字节流,但我改为在服务器上处理它:

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

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