Winkel-4: Wie zu Lesen ist Inhalt der text-Datei mit HTTPClient
Habe ich eine .txt-Datei in meine Eckige 4-Projekt-Verzeichnis, und ich möchte, um die Inhalte Lesen. Wie es zu tun ? Unten ist der code, mit dem ich arbeitete.
Sich die Datei im 'files' - Ordner der sich im 'app' - Ordner.
Die Komponente, wo ich HTTPClient-code wird in 'httpclient' - Ordner, die in 'app' - Ordner.
Bedeutung 'Dateien' - Ordner und 'httpclient' - Ordner sind die Kinder.
Den code ist unten dargestellt. Es funktioniert nicht so, wie ich m immer 404-Fehler - ' http://localhost:4200/files/1.txt 404 (Nicht Gefunden)'
this.http.get('/files/1.txt').subscribe(data => {
console.log(data);
},
(err: HttpErrorResponse) => {
if (err.error instanceof Error) {
//A client-side or network error occurred. Handle it accordingly.
console.log('An error occurred:', err.error.message);
} else {
//The backend returned an unsuccessful response code.
//The response body may contain clues as to what went wrong,
console.log(`Backend returned code ${err.status}, body was: ${err.error}`);
}
}
);
Haben Sie versucht, eine relative URL? (d.h.
ja, ich versuchte es gerade jetzt, gleiche Fehlermeldung. Es ist es nicht zu finden - 404. was ist falsch? Ich bin einfach die folgenden codes der offiziellen Winkel-docs Winkel.io/guide/http#anfordern-nicht-json-Daten
Ihre Datei-Pfad richtig ist ?
ja der Datei-Pfad richtig ist. Auch wenn ich den text-Datei im gleichen Ordner der Komponente, und führen Sie diese aus.http.get('./1.txt') bekomme ich den gleichen Fehler.
es funktioniert nicht, weil wenn die CLI baut das Projekt mit
http.get('files/1.txt')
-- kein vorangestellter Schrägstrich) Oder das ablegen der Dateien in der assets
Ordner, der Inhalte, von denen - glaube ich - ist kopiert in das Stammverzeichnis der Website.ja, ich versuchte es gerade jetzt, gleiche Fehlermeldung. Es ist es nicht zu finden - 404. was ist falsch? Ich bin einfach die folgenden codes der offiziellen Winkel-docs Winkel.io/guide/http#anfordern-nicht-json-Daten
Ihre Datei-Pfad richtig ist ?
ja der Datei-Pfad richtig ist. Auch wenn ich den text-Datei im gleichen Ordner der Komponente, und führen Sie diese aus.http.get('./1.txt') bekomme ich den gleichen Fehler.
es funktioniert nicht, weil wenn die CLI baut das Projekt mit
ng serve
es nur Prozesse .ts .html und .css-Dateien. Statische assets wie .txt-Dateien gehören nicht in den code und Sie werden fallen durch ng serve
.InformationsquelleAutor yogihosting | 2017-11-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen wie diesem :
Die CLI kann nicht auf docments in der app-Verzeichnis Ihres Projekts. wenn Sie auf text-Dokument, können Sie den Zugriff auf die text-Datei wie
assets/1.txt
.wenn Sie wollen, um access-Dokument in das Verzeichnis app müssen Sie den Pfad in das Anlagevermögen array in der .Winkel-cli.json
.Winkel-cli.json
hier unten ist mein Beispiel versuchen wie diesem :
Sie müssen hinzufügen
app
in das eckige-cli.json Datei in der assets-array . dann können Sie darauf zugreifen. und import führen Sie das Projekt erneutIch app Hinzugefügt, um die Winkel-cli.json, seine immer noch nicht funktioniert.
Nach hinzufügen
app
im inneren der Vermögens-array. Sie benötigen, um führen Sie das Projekt Erneut oder Starten Sie das Projekt neuSie sind einfach toll! Ich muss neu starten mein Winkel-Projekt. Ich war mit vs code. Also habe ich es geschlossen und wieder geöffnet und es lief die app einmal mehr. Jetzt bin ich in der Lage zu beurteilen. Der code hier ist.http.get('app/files/1.txt', {responseType: 'text'})
InformationsquelleAutor Chandru
Eckig 6/7
funktioniert
diese.http.get("app/files/1.txt", { responseType: 'text' als 'json'}).subscribe(Daten => {
console.log(data.text());
})
Finden https://github.com/angular/angular/issues/18586 für eine vollständige Diskussion
InformationsquelleAutor nsk
Nur eine Korrektur zur vorherigen Antwort:
hinzufügen "responseType: 'text'" in den Optionen:
InformationsquelleAutor Doron Saar
War ich in der Lage, eine lokale Datei(JSON) mit Winkel 6 Projekt.
Projekt strucuture:
Schritte:
1) Innerhalb
angular.json
habe ich den Ordner wo ich die Datei:2) Schrieb folgende service-Datei zu erhalten:
Bonus:
Im Falle dass, wenn Sie wollen, Lesen Sie benutzerdefinierte Umgebungsvariablen(außer dem, was standard-Winkel-one bietet) Sie können hinzufügen, über service in
App.module.ts
:P. S. Bei Fragen können Sie überprüfen,diese eine.
Shared eine Antwort in deinem post: stackoverflow.com/a/50986804/806202 ich hoffe, es wird helfen.
InformationsquelleAutor Arsen Khachaturyan
Dies ist getestet
Angular 6
Erstellen Sie einen Dienst, mit
aus und rufen Sie den service in Ihre Komponenten wie unten
Hoffentlich hilft
InformationsquelleAutor user2112373