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

标签 android loopj android-async-http

我正在使用Loopj的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 中实现的解决方案。

最佳答案

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

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

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

关于android - 如何设置上传的jpg类型被识别为 "image/jpg"而不是 "application/octet-stream",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22676085/

相关文章:

使用 WP API v1 和 v2 破坏 Android Loopj 图像上传

android - 如何使用 AsyncHttpClient 进行 HTTPS 调用?

android - 调用语音识别应用程序的小部件

Android 按钮类似首选项

java - 您必须先对子级的父级调用removeView() 2

android - 谁调用 Android 生命周期处理程序?

post - Loopj 带正文的 Post 请求

android - 如何向loopj POST添加 header

java - Android - 选择 HTTP Java 库

android - 如何从 JSONParser 类获取字符串变量的值?