При запуске приложения в студии Android возникает ошибка в API публикации.
Сообщение: ОШИБКА TypeError: не удалось выполнить «readAsText» в «FileReader»:
параметр 1 не относится к типу «Blob».
Это мой код при отправке API:
Код: Выделить всё
this.usersClient.createIdentityUser(list as CreateUserCommand).subscribe();
Код: Выделить всё
createIdentityUser(command: CreateUserCommand): Observable {
let url_ = "http://www.someurl.com" + "/api/Users/CreateUser";
url_ = url_.replace(/[?&]$/, "");
const content_ = JSON.stringify(command);
let options_ : any = {
body: content_,
observe: "response",
responseType: "blob",
headers: new HttpHeaders({
"Content-Type": "application/json",
"Accept": "application/json"
})
};
return this.http.request("post", url_, options_).pipe(_observableMergeMap((response_ : any) => {
return this.processCreateIdentityUser(response_);
})).pipe(_observableCatch((response_: any) => {
if (response_ instanceof HttpResponseBase) {
try {
return this.processCreateIdentityUser(response_ as any);
} catch (e) {
return _observableThrow(e) as any as Observable;
}
} else
return _observableThrow(response_) as any as Observable;
}));
}
Код: Выделить всё
protected processCreateIdentityUser(response: HttpResponseBase): Observable {
const status = response.status;
const responseBlob =
response instanceof HttpResponse ? response.body :
(response as any).error instanceof Blob ? (response as any).error : undefined;
let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}
if (status === 200) {
return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {
let result200: any = null;
let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
result200 = ResultOfCreateUserDto.fromJS(resultData200);
return _observableOf(result200);
}));
} else if (status !== 200 && status !== 204) {
return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {
return throwException("An unexpected server error occurred.", status, _responseText, _headers);
}));
}
return _observableOf(null as any);
}
Код: Выделить всё
function blobToText(blob: any): Observable {
return new Observable((observer: any) => {
if (!blob) {
observer.next("");
observer.complete();
} else {
let reader = new FileReader();
reader.onload = event => {
observer.next((event.target as any).result);
observer.complete();
};
reader.readAsText(blob);
}
}); }
Код: Выделить всё
import type { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = {
appId: 'com.myapp.app',
appName: 'MyApp App',
webDir: 'dist',
bundledWebRuntime: false,
server: {
cleartext: true,
},
plugins: {
CapacitorHttp: {
enabled: true,
},
}
};
export default config;
Подробнее здесь: https://stackoverflow.com/questions/790 ... r-with-cap