2017-09-21 1 views
0

Ich arbeite gerade an einer Upload-Datei-Funktion mit Datei-API funktioniert gut mit PNG JPG und GIF, aber ich versuche auch, pdf hochzuladen und zu speichern, aber wenn ich reveive ein hochgeladenes pdf es ist nicht lesbar (Ich benutze pdfjs zur Anzeige, "echte" PDFs werden gut angezeigt.pdf hochgeladen mit FileReader

Ich benutze FileReader readAsDataUrl wie in mehreren Tutorials gesehen, aber mein Wissen über dieses Tool ist ziemlich begrenzt.

Hier ist mein Code,:

uploadMenu() { 
if (this.state.title && this.state.file) { 
    this.setState({loading: true}) 
    const self = this; 
    const reader = new FileReader(); 
    reader.onloadend = function(e) { 
    const data = reader.result; 
    const jsonToSend = { 
     "title": self.state.title, 
     "position": self.state.select, 
     "imageName": self.state.file.name, 
     "image": data 
    } 
    fetch('/new/content/' + self.state.topID, { 
     headers: { 
     'Accept': 'application/json', 
     'Content-Type': 'application/json' 
     }, 
     dataType: 'json', 
     method: "POST", 
     body: JSON.stringify(jsonToSend) 
    }).then((res) => res.json()).then((res) => { 
     self.setState({loading: false}) 
     if (res.status === "ok") { 
     self.props.close(); 
     self.props.refresh(); 
     } else { 
     self.setState({errorMessage: res.status}); 
     self.setState({errors: true}); 
     } 
    }); 
    }; 
    reader.readAsDataURL(this.state.file); 
    this.setState({errors: false}); 
} else { 
    this.setState({errorMessage: "All fields are required"}); 
    this.setState({errors: true}); 
} 

jede Einsicht auf Filereader oder auf das, was ich wäre toll, bin fehlt!

Antwort

0

Wenigstens fehlende Semikolons (:) in diesen beiden Leitungen:

this.setState({loading: true}) 
self.setState({loading: false}) 
Verwandte Themen