我正在使用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/jpg
,image/png
等。
更新1
我已尝试将内容类型参数添加到应用程序中。但是,php代码仍将其识别为application/octet-stream
。
params.put("image", new FileInputStream(file), "image/jpg");
更新2
由于我需要继续该项目,我们现在所做的是建议服务器人员使用exif实现mime嗅探。在php中,我们使用exif_imagetype()来完成。到目前为止一切都很顺利。在我们找到可在android中实现的解决方案之前,我将保持这个问题的开放。
答案 0 :(得分:2)
我遇到了同样的问题,但我无法更改应用程序/八位字节流,但我改为在服务器上处理它:
$info = getimagesize($_FILES['pic']['tmp_name']);
$type=$info['mime'];
这里的类型将显示为image / jpg而不是application / octet-stream。