Thursday, 13 April 2017

Posting file created by blob via AJAX to SailsJs

I researched a lot on the internet but found no solution for posting file created by blob via AJAX

Any glue will be highly appreciated.

I tried with the real form, it work, but not the blob in FormData. May it was filtered when validating on Sailjs?

This is how I post my FormData:

    const audio = new File([blob], 'feedback-'.concat(new Date().getTime().toString(), '.wav'), {
        type: 'audio/wav'
    });
    let formData: FormData = new FormData();
        formData.append("audioFile", audio, audio.name);
        let headers = new Headers();
        headers.append('Content-Type', 'multipart/form-data');
        headers.append('Accept', 'application/json');
        let options = new RequestOptions({ headers: headers });
    this.http.post('http://localhost:1337/api/uploadAudio', formData, options)
        .map(res => res.json())
        .catch(error => Observable.throw(error))
        .subscribe(
            data => console.log('success', data),
            error => console.log(error)
        )

I also tried with direct blob:

    const reader = new FileReader();
    let formData: FormData = new FormData();
    formData.append("audioFile", blob);
    let headers = new Headers();
    headers.append('Content-Type', 'multipart/form-data');
    headers.append('Accept', 'application/json');
    let options = new RequestOptions({ headers: headers });

    this.http.post('http://localhost:1337/api/uploadAudio', formData, options)
        .map(res => res.json())
        .catch(error => Observable.throw(error))
        .subscribe(
            data => console.log('success', data),
            error => console.log(error)
        )



via Steve Tran

No comments:

Post a Comment