2016-07-08 5 views
1

Ich habe ein Bild in dataurlFileReader mit umgewandelt und es gibt mir eine Ausgabe wie:Convert url Objekt mit JavaScript-Datei

data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD//gA7Q1JFQVRPUjogZ2QtanBl…Vp1m8u4+SV/s0TpD8+91R/3Xlf8sXZv9Y9OGLk5eyVnCNu19Ntdu2jYOnaHtG7ffb7t/uP/9k=

die eine sehr lange Zeichenfolge ..

jetzt wieder ich Ich möchte es in ein Dateiobjekt konvertieren, damit ich dieses Bild posten kann.

Wie kann ich wieder dieses Bild umwandeln in Dateiobjekt

+2

Können Sie erklären, was Sie mit "Dateiobjekt" meinen? – evolutionxbox

+0

Das bekomme ich nach dem Hochladen aus dem Formular .. Das Dateiobjekt – aryan

Antwort

2

dataurl Converting Objekt


var byteString = atob(dataURI.split(',')[1]); 
var ab = new ArrayBuffer(byteString.length); 
var ia = new Uint8Array(ab); 
for (var i = 0; i < byteString.length; i++) { 
    ia[i] = byteString.charCodeAt(i); 
} 
var blob = new Blob([ia], { type: 'image/jpeg' }); 
var file = new File([blob], "image.jpg"); 

basierend auf @ William-t Antwort auf Datei/mehr Diskussion o n stackoverflow.com/questions/4998908/

MDN blobfile

A Blob-Objekt eine Datei-ähnliches Objekt unveränderlicher, Rohdaten darstellt. Blobs stellen Daten dar, die nicht notwendigerweise in einem JavaScript-nativen -Format vorliegen. Die Dateischnittstelle basiert auf Blob und erbt die Blob-Funktionalität und erweitert sie auf Unterstützungsdateien auf dem System des Benutzers.


MDN FormData

var form = new FormData(), 
    request = new XMLHttpRequest(); 

form.append("image", blob, "myimage.jpg"); 
request.open("POST", "/upload", true); 
request.send(form); 
+0

Was ich will ist hier Dateiobjekt von dieser URL .. – aryan

0

Sie holen verwenden, um eine URL zu einem File-Objekt zu konvertieren.

//load src and convert to a File instance object 
//work for any type of src, not only image src. 
//return a promise that resolves with a File instance 

function srcToFile(src, fileName, mimeType){ 
    return (fetch(src) 
     .then(function(res){return res.arrayBuffer();}) 
     .then(function(buf){return new File([buf], fileName, {type:mimeType});}) 
    ); 
} 


//usage example: (works in Chrome and Firefox) 

srcToFile(
    'data:image/gif;base64,R0lGODlhDgANAKIAAAAAAP///9HV2U5RU////wAAAAAAAA' 
    + 'AAACH5BAEAAAQALAAAAAAOAA0AAAMXSLrc/hCO0Wa1atJLtdTbF0ZjZJ5oyiQAOw==', 
    'arrow.gif', 
    'image/gif' 
) 
.then(function(file){ 
    console.log(file); 
})