Advertisement
marpisz96

uploadToServer

Jan 29th, 2020
357
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import { Component, OnInit } from "@angular/core";
  2. import { ImageAsset } from "tns-core-modules/image-asset/image-asset";
  3. import { ModalDialogParams } from "nativescript-angular/modal-dialog";
  4. import { UslugaGaleriaService } from "../usluga-galeria.service";
  5. import { Image } from "tns-core-modules/ui/image/image";
  6. import * as bgHttp from "nativescript-background-http";
  7. import * as systemPlikow from "tns-core-modules/file-system";
  8. import { ImageSource } from "tns-core-modules/image-source/image-source";
  9. @Component({
  10.     selector: "ns-zatwierdz-galeria",
  11.     templateUrl: "./zatwierdz-galeria.component.html",
  12.     styleUrls: ["./zatwierdz-galeria.component.css"]
  13. })
  14. export class ZatwierdzGaleriaComponent implements OnInit {
  15.     obraz: string;
  16.     public zadania: bgHttp.Task[] = [];
  17.     private plik: string;
  18.     private url: string;
  19.     private licznik: number = 0;
  20.     private sesja: any;
  21.     public events: { eventTitle: string, eventData: any }[] = [];
  22.     constructor(
  23.         private galeria: UslugaGaleriaService,
  24.         private params: ModalDialogParams,
  25.  
  26.     ) {
  27.         this.obraz = galeria.newImgPath;
  28.         this.url = "https://127.0.0.1";
  29.         this.sesja = bgHttp.session("image-upload");
  30.        // this.plik = systemPlikow.path.normalize(systemPlikow.knownFolders.currentApp().path);
  31.  
  32.     }
  33.     wyslijZdjecie(){
  34.         const nazwa = this.obraz.substr(this.obraz.lastIndexOf("/") + 1);
  35.         console.log("Nazwa ", nazwa);
  36.         const opis = `${nazwa}(${++this.licznik})`;
  37.         console.log("Opis ", opis);
  38.         const request = {
  39.             url: this.url,
  40.             method: "POST",
  41.             headers: {  //to są nagłówki wysyłane do serwera
  42.                 "Content-Type": "application/octet-stream",
  43.                 "File-Name": nazwa
  44.             },
  45.             description: opis,
  46.             androidAutoDeleteAfterUpload: false,
  47.             androidNotificationTitle: 'Rozpoznawanie tablic',
  48.         };
  49.         console.log(nazwa);
  50.  
  51.         console.log(opis);
  52.         console.log(request);
  53.         let zadanie: bgHttp.Task;
  54.         let lastEvent = "";
  55.         zadanie = this.sesja.uploadFile(this.obraz, request);
  56.         console.log(zadanie);
  57.         function onEvent(e) {
  58.             if (lastEvent !== e.eventName) {
  59.                 // suppress all repeating progress events and only show the first one
  60.                 lastEvent = e.eventName;
  61.             } else {
  62.                 return;
  63.             }
  64.  
  65.             this.events.push({
  66.                 eventTitle: e.eventName + " " + e.object.description,
  67.                 eventData: JSON.stringify({
  68.                     error: e.error ? e.error.toString() : e.error,
  69.                     currentBytes: e.currentBytes,
  70.                     totalBytes: e.totalBytes,
  71.                     body: e.data,
  72.                     responseCode: e.responseCode
  73.                 })
  74.             });
  75.         }
  76.  
  77.         zadanie.on("Wysyłanie w toku", onEvent.bind(this));
  78.         zadanie.on("Błąd", onEvent.bind(this));
  79.         zadanie.on("responded", onEvent.bind(this));
  80.         zadanie.on("Wysyłanie ukończone", onEvent.bind(this));
  81.         lastEvent = "";
  82.         this.zadania.push(zadanie);
  83.     }
  84.     showPath(){
  85.         console.log("Aja",this.obraz);
  86.         console.log("Plik: ", this.plik);
  87.     }
  88.  
  89.     ngOnInit() {}
  90.  
  91. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement