我正在使用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 中实现的解决方案。
最佳答案
我遇到了同样的问题,但我无法更改 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/