简体   繁体   中英

How to upload multiple files in one request?

I am going to upload multiple images to server.

This is the array of DataURLs.

items: {
    img_url : string
}[] = [];

I found that ionic native file transfer can only upload one file.

How can i upload multiple files?

import { FileTransfer, FileUploadOptions, FileTransferObject } from '@ionic-native/file-transfer';

 uploadAllImage()
  {
    const fileTransfer:FileTransferObject = this.transfer.create();

    var i;

    var filetype;
    var itemtype;

    for(i=0; i<this.photos.length; i++)
    {

      //GET TYPE OF ITEM
      filetype = this.itemtypes[i];

      //GET MIME TYPE from itemtype
      switch(filetype)
      {
        case 'audio':
        {
          itemtype = 'audio/amr';
          break;
        }
        case 'video':
        {
          itemtype = 'video/quicktime';
          break;
        }
        case 'image':
        {
          itemtype = 'image/jpeg';
          break;
        }
        default:
        {
          return;
        }
      }


      //SET NAME
      var name ='pinglun_' + filetype;
      name = name + '#';
      name = name + this.photosName[i];

      console.log(name);

      //SET MIMETYPE
      let option: FileUploadOptions = {
        fileKey:'file',
        mimeType:itemtype,
        httpMethod:'POST',
        fileName:name
      };

      console.log('itemtype', itemtype);

      //DETERMINE FILE DEPENDING ON MIMETYPE
      if(filetype == 'image')
      {
        fileTransfer.upload(this.photos[i], encodeURI(localStorage.getItem('GlobalIP')+"/upload"),option).then((result)=>{

        },function(error)
        {

        });
      }
      else
      {

        console.log('FURL:' + this.fileurls[i]);

        fileTransfer.upload(this.fileurls[i], encodeURI(localStorage.getItem('GlobalIP')+"/upload"),option).then((result)=>{

        },function(error)
        {

        });
      }

    }
  }

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM