Używam Anuglar, Ionic i Cordova w moim bieżącym projekcie, a ja próbuję POST FormData zawierające plik obrazu do mojego serwera. Teraz używam cordova camera plugin, aby zwrócić ścieżkę pliku do obrazu na urządzeniu (np: file: // path/to/img). Kiedy już mam ścieżkę pliku, chcę dołączyć plik obrazu do obiektu FormData za pomocą ścieżki pliku obrazów. Oto mój kod właśnie teraz. powyżejDołącz obraz pliku do postaci danych - Cordova/Angular
var fd = new FormData();
fd.append('attachment', file);
fd.append('uuid', uuid);
fd.append('userRoleId', userRole);
Kod działa podczas dołączania pliku, który zostaje wyniesiony z <input type='file'>
ale nie działa po prostu ze względu na ścieżkę do pliku na urządzeniu.
Zasadniczo FormData pokazuje jak tego prawa teraz:
------WebKitFormBoundaryasdf
Content-Disposition: form-data; name="attachment";
file://path/to/img
i chcę, żeby wyglądać tak
------WebKitFormBoundaryasdf
Content-Disposition: form-data; name="attachment"; filename="jesus-quintana.jpg"
Content-Type: image/jpeg
Znalazłem wiele różnych sposobów, aby przesłać obraz używając Cordova FileTransfer i przez konwersję obrazu na base64, a następnie przesłanie go. Ale nie mogłem znaleźć żadnych prostych sposobów po prostu chwytając plik za pomocą ścieżki i umieszczając go w formularzu. Nie jestem obeznany z File Api, więc każda pomoc byłaby doceniana:
Piękny. Ładnie zrobione, @Joe Komputer. Właśnie tego szukałem. –
Unikałem tego, ponieważ nie byłem pewien, jak mój serwer poradzi sobie z blobem ... ale najwyraźniej nie było problemu. Dzięki!! – Relic
Witaj, czy możesz udostępnić kod HTML razem z js. Dzięki :) –