0
  • 最佳答案

    你也没说报啥错呀?


    先定位问题,是你服务器的问题呢,还是你android代码的问题对吧。


    你的浏览器可以上传,那么很大程序是你android程序 的问题。


    如果是你android程序 的问题,那你看看log,或者提供一下log咯。

    1153952789488054272  评论     打赏       拉大锯
    • 土豆南瓜  回复 @拉大锯
      谢谢大神指点。
      土豆南瓜 2020-06-09 08:56   回复 1186978534388781056
  • File file = new File("/sdcard/1111.png");

    问题应该在这里,不能这样直接访问文件

    第一,你必须有权限读取内部存储;

    第二,你访问这个文件,可以用api访问,不要写sdcard、xxxx什么的;

    第三,你获得这个file对象之后,要判断下,file是否存在file.exists(),判断是否正常访问到了。这样对排查,有一个节点

    第四,是否正确使用okhttp 的api;

    这样一步一步排查

    1139423796017500160  评论     打赏       断点-含光君
  • 后来排查,发现php接口根本没有读到客户端传递的file信息,

    echo $_FILES 返回结果是null。确定是android代码的问题。

    后来搜到解决方法,修改了uploadFile方法中的这一部分代码
    


    RequestBody requestBody = new MultipartBody.Builder()
            .setType(Objects.requireNonNull(MediaType.parse("multipart/form-data;charset=utf-8")))
            .addFormDataPart("file",file.getName(), fileBody)
            .build();
    


    增加了这一行

     .setType(Objects.requireNonNull(MediaType.parse("multipart/form-data;charset=utf-8")))
    


    现在ok了



    1186978534388781056  评论     打赏       土豆南瓜
相关问题
谁都不许动我的砖 · Android / okhttp
2020-02-11 02:33 490 4
fengtangfaye · okhttp3
2020-02-29 21:09 596 4
拉大锯程序员 · Okhttp / Android
2020-04-16 00:44 422 2
fengtangfaye · okhttp
2020-04-30 07:30 824 3
牛逼哄哄的伟人 · okhttp异步提交
2022-04-29 18:22 51 4
幻影~ · 提问
2024-04-13 20:13 7 2
幻影~ · 找工作
2024-04-07 10:44 11 2
幻影~ · 问题
2024-03-31 17:20 7 2
TONYGFX · AOSP
2024-03-28 17:11 4 2