<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # 目錄 [TOC] # PHP后臺接受不到文件數組 有開發者反饋后臺是PHP,用html寫的表單傳文件數組,PHP可以接受到這個數組,但是用NoHttp的時候PHP后臺只能接受到數組的最后一個文件。 我是做Java開發的,于是寫了個Java后臺測試,結果顯示NoHttp完全沒有問題,于是我去翻了PHP的文檔,發現這個PHP的特性,在說明之前先看看NoHttp是怎么一個`key`傳文件數組的。 傳送門:[php傳文件數組的官方文檔說明連接](http://php.net/manual/en/features.file-upload.multiple.php)。 第一種做法,添加`List<Binary>`: ```java List<Binary> binaries = new Arraylist<>(); // 文件list。 binaries.add(new FileBinary(file)); binaries.add(new BitmapBinary(bitmap, "head.png")); Request<String> request = new StringRequest(url, RequestMethod.POST) .add("images", binaries); // 添加文件list。 ``` 第二種做法,添加多個相同Key的Binary: ```java File file = ... Bitmap bitmap = ... Request<String> request = new StringRequest(url, RequestMethod.POST); // 添加多個相同key的Binary。 .add("images", new FileBinary(file)) .add("images", new BitmapBinary(bitmap, "nohttp.png")); ``` # PHP用html傳文件list的方式 解釋這個問題之前要先看看PHP在`html`中是如何傳文件數組的,`html`的`form`是這樣寫的: ```html <form action="file-upload.php" method="post" enctype="multipart/form-data"> <input name="userfile[]" type="file" /><br /> <input name="userfile[]" type="file" /><br /> <input type="submit" value="上傳" /> </form> ``` 我們看到這里有兩個`file input`,`name`為`userfile[]`,也就是NoHttp中的`Request#add(String key, Binary value)`中的key。 在PHP中這樣接受:`$_FILES['userfile']`,所以這里我們發現后臺獲取這個FileList的時候的`key`是`userfile`,所以后臺告訴Android開發者你傳文件數組的時候的key是`userfile`,這是因為PHP要求一個`key`傳文件數組的時候,`key`必須是`key[]`,它才會視為文件數組,到PHP后臺的時候會自動把這個`[]`去掉,否則它將會被相同的key覆蓋,這就是為什么**使用NoHttp傳文件list的時候PHP只能接受最后一個文件的原因**。 # 解決方案 根據上面的分析我想你肯定明白了,就是在我們之前的`key`后面加`[]`: ```java List<Binary> binaries = new Arraylist<>(); // 文件list。 binaries.add(new FileBinary(file)); binaries.add(new BitmapBinary(bitmap, "head.png")); Request<String> request = new StringRequest(url, RequestMethod.POST) .add("images[]", binaries); // 添加文件list。 ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看