Я хотел использовать только ioni c плагин https://github.com/silkimen/cordova-plugin-advanced-http#uploadFile при загрузке файла камеры / изображения с устройства в API следующими способами.
Хотя у него нет любая синтаксическая ошибка на основе документации, прокомментированной ниже.
Проблема была связана с параметрами, и я не мог понять, почему ...
Ошибка: advanced-http: " params "должен быть объектом стиля словаря,
Метод загрузки изображения в API.
async uploadToAPI(imgEntry) {
var url = environment.api_host + "/activities/log/images"
var filePath = imgEntry.localURL;
var name = 'reports';
var body = {
user_hash: 'xxxxxxx',
activities_id: 1,
activities_log_id: 1
}
var headers = {
'Authorization': 'Bearer ' + environment.api_security_bearer
}
// (method) HTTP.uploadFile(url: string, body: any, headers: any, filePath: string | string[], name: string | string[]): Promise<any>
// @param url — The url to send the request to
// @param body — The body of the request
// @param headers — The headers to set for this request
// @param filePath — The local path(s) of the file(s) to upload
// @param name — The name(s) of the parameter to pass the file(s) along as
// @returns — returns a FileEntry promise that will resolve on success, and reject on failure
this.http.uploadFile(
url,
body,
headers,
filePath,
name,
).then((data) => {
console.log(data)
})
.catch(error => {
console.log(error)
})
}
Что я мог упустить из-за ошибки в приведенном выше коде?
PS: Только, хотел использовать ioni c -native / http / ngx и ничего больше.
import { HTTP } from '@ionic-native/http/ngx';