¿Cómo PUBLICA un objeto FormData en Angular 2?

Necesito cargar un archivo y enviar algunos json junto con él, tengo esta función:

POST_formData(url, data) {
        var headers = new Headers(), authtoken = localStorage.getItem('authtoken');

        if (authtoken) {
            headers.append("Authorization", 'Token ' + authtoken)
        }

        headers.append("Accept", 'application/json');
        headers.delete("Content-Type");

        var requestoptions = new RequestOptions({
            method: RequestMethod.Post,
            url: this.apiURL + url,
            headers: headers,
            body: data
        })

        return this.http.request(new Request(requestoptions))

        .map((res: Response) => {
            if (res) {
                return { status: res.status, json: res.json() }
            }
        })
    }

Mi problema es, si configuro elcontent-type a "multipart/form-data"mi servidor se queja de los límites, si elimino elcontent-type encabezado completamente, mi servidor se queja de que "text/plain"un tipo de medio compatible.

Entonces, ¿cómo se envía FormData con angular2?

Respuestas a la pregunta(4)

Su respuesta a la pregunta