2017-12-22 6 views
0

私は一度にp-upload upload mutiファイルを使用します。 HTMLコードを以下に示す。 primeNG p-upload一度にmutiファイルをアップロードするときに異なる名前の値を設定する方法

私がリクエストを送信した後

<p-fileUpload name="file" url="./upload.php" (onUpload)="onUpload($event)" (uploadHandler)="uploadHandler($event,form)" 
          multiple="multiple" accept="image/*,application/*" (onBeforeUpload)="onBeforeUpload($event)" 
          chooseLabel="choose" uploadLabel="upload" cancelLabel="cancel" #form> 
       <ng-template pTemplate="content"> 
        <ul *ngIf="uploadedFiles.length"> 
         <li *ngFor="let file of uploadedFiles">{{file.name}} - {{file.size}} bytes</li> 
        </ul> 
       </ng-template> 

、このようなrequstのplayload:コードアップで

------WebKitFormBoundarymBQWZzMTQIYWChSD 
Content-Disposition: form-data; name="access_token" 

token_725186200 
------WebKitFormBoundarymBQWZzMTQIYWChSD 
Content-Disposition: form-data; name="file"; 
filename="32735073444_83b7a691dc_k.jpg" 
Content-Type: image/jpeg 

------WebKitFormBoundarymBQWZzMTQIYWChSD 
Content-Disposition: form-data; name="file"; 
filename="32764885503_1a04915b11_k.jpg" 
Content-Type: image/jpeg 

------WebKitFormBoundarymBQWZzMTQIYWChSD-- 

ルックは、名前のpropertysは同じです。しかし、私は名前= "file1"、名前= "file2"したい。これを修正するには?誰でも私を助けることができますか?私は混乱しています。

+0

formname.files [0]を使用してください。 formname.files [1]などを使用してJavascriptでアクセスします。それは – Gary

+0

を意味しますあなたはTSのformname.files [0] .formname.files [1]の値を設定するのですか?しかし、formname.files.lengthはわかりません。それはユーザーのアップロードファイル番号に依存します。 – Stellina

+0

これをチェックしてください。 https://www.primefaces.org/primeng/#/fileupload – Gary

答えて

1

これは正常な応答ヘッダーです。

nameプロパティは、実際にはフォーム内のHTMLフィールドの名前です。入力フィールド名をアップロードする各ファイルに設定することはできません(例: 'File1'、 'File2')。

チェックContent-Dispositionドキュメント

あなたはバックエンドに複数のファイルを特定したい場合は、名前値として結論

<p-fileUpload name="myfile[] 
+0

名前の値として文字列配列を使用する方法は?私はprimeNG docを見ましたが、文字列配列の例を名前の値として表示しません。 – Stellina

+0

myfileはTSファイルの値の名前ですか?もしそうなら、myfile値を設定する方法は? – Stellina

+0

POST /test.html HTTP/1.1 ホスト:example.org コンテンツタイプ:multipart/form-data;境界= "境界" - 境界 コンテンツの処理:フォームデータ。名前= "フィールド1" 値1 - 境界 内容 - 配置:フォームデータ。 name = "field2";ファイル名= "example.txt" 値2 - boundaryary-- 2つの名前の値が異なります。 – Stellina

0

を文字列配列を使用する場合があり、 Firstlty、nameプロパティを同じに設定することができます1つの入力を使用して複数のファイルを要求するときの値。要求playloadは次のようになります。

------WebKitFormBoundarymBQWZzMTQIYWChSD 
Content-Disposition: form-data; name="access_token" 

token_725186200 
------WebKitFormBoundarymBQWZzMTQIYWChSD 
Content-Disposition: form-data; name="file"; 
filename="32735073444_83b7a691dc_k.jpg" 
Content-Type: image/jpeg 

------WebKitFormBoundarymBQWZzMTQIYWChSD 
Content-Disposition: form-data; name="file"; 
filename="32764885503_1a04915b11_k.jpg" 
Content-Type: image/jpeg 

------WebKitFormBoundarymBQWZzMTQIYWChSD-- 

第二に、名前が複数の入力を使用し、マルチファイルを要求したときに同じ値を設定することはできません。要求は次のようになります。

------WebKitFormBoundarymBQWZzMTQIYWChSD 
Content-Disposition: form-data; name="access_token" 

token_725186200 
------WebKitFormBoundarymBQWZzMTQIYWChSD 
Content-Disposition: form-data; name="file_1"; 
filename="32735073444_83b7a691dc_k.jpg" 
Content-Type: image/jpeg 

------WebKitFormBoundarymBQWZzMTQIYWChSD 
Content-Disposition: form-data; name="file_2"; 
filename="32764885503_1a04915b11_k.jpg" 
Content-Type: image/jpeg 

------WebKitFormBoundarymBQWZzMTQIYWChSD-- 

ちなみに、nameプロパティの値は、どのような値を設定するかによって異なります。

第3に、mutiファイルをアップロードするために入力またはマルチ入力のどちらを使用する場合でも、サーバーコードは異なります。

関連する問題