загрузка изображения с помощью file transfer ionic 3 не работает на iOS

#asp.net #ionic-framework #ionic3

#asp.net #ionic-framework #ionic3

Вопрос:

загрузка изображения с помощью file transfer в ionic 3 отлично работает на Android, но выдает ошибку на iOS при попытке сделать это в симуляторе.. * это ошибка: ошибка

Мой ионный код:

 chooseImageFromGallery()
{
  this.type="0"

  const options: CameraOptions = {
    quality: 60,
    destinationType: this.camera.DestinationType.FILE_URI,
    encodingType: this.camera.EncodingType.JPEG,
    mediaType: this.camera.MediaType.PICTURE,
    saveToPhotoAlbum:true,
    sourceType:0
  }
  this.camera.getPicture(options)
  .then((imageData) => {
    if (this.platform.is('ios'))
    {
      this.base64Image  = imageData;
    }
    else
    {
      this.base64Image  = imageData;
    }

  this.uploadimage(); // this function to upload img to server

  },
  (err) => {

  }).then((path)=>{

  })

}

uploadimage(){

  this.photoSrc="";

this.translate.get("uploading Image...").subscribe(
  value => {
this.sucesss=false
const fileTransfer: FileTransferObject = this.transfer.create();
let options: FileUploadOptions = {
fileKey: "file",
fileName:'test',
chunkedMode:false,
mimeType:"image/jpeg",
headers:{
Connection:"close"
},
httpMethod: "POST",
  }

  //------------ android ------------//
  this.base64Image =this.base64Image
  //------------ ios ------------//
  //this.base64Image =this.base64Image.substring(28)

  fileTransfer.upload(this.base64Image,encodeURI('mydomain/api/Product/upload'), options)
.then((data:any) => {

    alert("upload success ")


}, (err) => {

  this.translate.get( "error in upload Data").subscribe(
    value => {
      this.service.presentToast(value,2000)
    }
  )
})
  })
}
  

использование asp.net api2.. Мой серверный код :

  [HttpPost]
    [Route("upload")]
    [AllowAnonymous]
    public HttpResponseMessage uploadImage()
    {
        var request = HttpContext.Current.Request;
        if (Request.Content.IsMimeMultipartContent())
        {
            foreach (string file in request.Files)
            {
                var postedFile = request.Files[file];
                if (postedFile != null amp;amp; postedFile.ContentLength > 0)
                {
                    string root = HttpContext.Current.Server.MapPath("~/ServerImg");
                    root = root   "/"   postedFile.FileName;
                    postedFile.SaveAs(root);
                    //Save post to DB
                    return Request.CreateResponse(HttpStatusCode.Found, new
                    {
                        error = false,
                        status = "created",
                        path = root
                    });

                }
                else
                {
                    return Request.CreateResponse(HttpStatusCode.NotFound, new
                    {
                        error = true


                    });
                }
                // var title = request.Params["title"];


            }

            //  }


            return null;
        }
        else
        {
            return Request.CreateResponse(HttpStatusCode.Forbidden, new
            {
                error = true


            }); 
        }
    }
  

Я трачу более 4 дней .. но у меня ничего не получается..
И этот код отлично работает на Android, но не на iOS, я не знаю, что не так, я пробовал настоящий iPhone и симулятор Xcode и не работал
всегда ошибка загрузки {«code»: 3… «http_status»: 500,..

Кто-нибудь может мне помочь, пожалуйста…

Комментарии:

1. Вы нашли какое-либо исправление для этого?