Android 如何将上传的jpg类型设置为“识别”;图片/jpg";而不是",;应用程序/八位字节流“;

Android 如何将上传的jpg类型设置为“识别”;图片/jpg";而不是",;应用程序/八位字节流“;,android,loopj,android-async-http,Android,Loopj,Android Async Http,我正在使用Loopj的这是我的代码: 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代码仍然将其识别为applicatio

我正在使用Loopj的这是我的代码:

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


因为我需要继续这个项目,所以我们现在要做的是建议server guy使用exif实现mime嗅探。在php中,我们使用。到目前为止,一切都很好。在找到可在android中实现的解决方案之前,我会一直保留这个问题。

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

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

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

您是否尝试过指定文件名而不是mime类型?比如
params.put(“image”,新文件输入流(file),“food.jpg”)它仍然不起作用,我想它应该是
params.put(“image”,新文件输入流(file),“food.jpg”,“image/jpg”)或者它也可以是
params.put(“image”,新文件(“sdcard/food.jpg”),“image/jpg”)根据api文件,我也已经这样做了:(