Java Android多部分上传+;blueimp UploadHandler:不允许文件类型

Java Android多部分上传+;blueimp UploadHandler:不允许文件类型,java,php,android,upload,blueimp,Java,Php,Android,Upload,Blueimp,我正在尝试让我的Android多部分图像上载与默认的blueimp PHP UploadHandler一起工作,我正在将其用于我的应用程序的web版本。 它不是开箱即用的,所以我尝试了请求的标题。 我玩了很长一段时间,但由于没有任何效果,我最终启动了Wireshark,并将blueimp演示的数据包与Android应用程序发送的数据包进行了比较。经过进一步调整后,它们看起来完全一样(很重要的部分): Blueimp演示: Android多端口: 这是我定制的generate\u response

我正在尝试让我的Android多部分图像上载与默认的blueimp PHP UploadHandler一起工作,我正在将其用于我的应用程序的web版本。
它不是开箱即用的,所以我尝试了请求的标题。
我玩了很长一段时间,但由于没有任何效果,我最终启动了Wireshark,并将blueimp演示的数据包与Android应用程序发送的数据包进行了比较。
经过进一步调整后,它们看起来完全一样(很重要的部分):

Blueimp演示:
Android多端口:

这是我定制的
generate\u response
函数返回的结果:

Array
(
  [0] => stdClass Object
    (
      [name] => 1387215600-9207
      [size] => 97894
      [type] => multipart/form-data; boundary=-----Don'tmindmeI'mjustaboundary
      [error] => Filetype not allowed
    )
)
它似乎加载了整个数据包,而不仅仅是它的多部分。
有没有办法解决这个问题?

下面是我创建请求的方式(不完全是,但这些是相关的行):

我已经为此工作了好几个小时了,真的快把我逼疯了。 我做错了什么?


编辑:
不管怎样我都能让它工作
我忘了将表单名称设置为files[],这正是UploadHandler要查找的…
现在看起来是这样的:

...
public static String BOUNDARY = "-----Don'tmindmeI'mjustaboundary";
...

MultipartEntity entity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE, BOUNDARY, null);

File file = new File(params[2]);
String filename = file.getName();

FileBody body = new FileBody(file, getMimeType(params[2]));
FormBodyPart part = new FormBodyPart("files[]", body);

part.addField("Content-Type", getMimeType(params[2]));
part.addField("Content-Disposition", "form-data; filename=\""+filename+"\"");

entity.addPart(part);

HttpPost request = new HttpPost(params[0]);

request.setHeader("Content-Type", "multipart/form-data; boundary="+BOUNDARY);
request.addHeader("Accept", "application/json, text/javascript, */*; q=0.01");
request.addHeader("Accept-Language", "en-US,en;q=0.8,de;q=0.6,es;q=0.4");

request.setEntity(entity);

HttpResponse response = client.execute(request, context);
...
...
public static String BOUNDARY = "-----Don'tmindmeI'mjustaboundary";
...

MultipartEntity entity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE, BOUNDARY, null);

File file = new File(params[2]);
String filename = file.getName();

FileBody body = new FileBody(file, getMimeType(params[2]));
FormBodyPart part = new FormBodyPart("files[]", body);

part.addField("Content-Type", getMimeType(params[2]));
part.addField("Content-Disposition", "form-data; filename=\""+filename+"\"");

entity.addPart(part);

HttpPost request = new HttpPost(params[0]);

request.setHeader("Content-Type", "multipart/form-data; boundary="+BOUNDARY);
request.addHeader("Accept", "application/json, text/javascript, */*; q=0.01");
request.addHeader("Accept-Language", "en-US,en;q=0.8,de;q=0.6,es;q=0.4");

request.setEntity(entity);

HttpResponse response = client.execute(request, context);
...