2017-12-06 1 views
0

senden Ich erlaube dem Benutzer, mehrere Bilder auf einmal zu laden.Wie mehrere Base64 Bilder in Array zu Java mit Hilfe von Ajax Aufruf in JavaScript

I Speichern aller Bildquellen in einem Array und mit ajax senden.

Der Ajax-Aufruf gibt eine Fehlermeldung, dass die Größe ist zu lang.

Mein Code-Schnipsel:

function save_domain_images(base64ImageSrc){ 
    var datastring = "&token="+domainImgSaveSession+"&imgSrc="+base64ImageSrc+"&action=saveDomainImg"; 
    $.ajax({ 
    type : "POST", 
    url : base+"/AppUserListServiceProvider", 
    data : datastring, 
    cache : false, 
    success : function(data){ 
     data      = JSON.parse(data); 
     domainImgSaveSession  = data["randomNew"]; 
     if(data["error"] == null && data["croppedImg"] != null){ 
     console.log("data : "+data["croppedImg"]); 
     } 
    }, 
    error : function(){} 
    }); 
} 
+0

was ist Ihr 'Inhalt-Baumuster zur –

+0

Sie kann nicht gesendet viele Daten über URL-Parameter (Maximum URL-Länge ist 2.083 Zeichen) –

Antwort

0
const match = /^\s*data:([\w/]+)(?:;base64)?,/.exec(base64Str); 
const type = match[1]; 
const blob = b64toBlob(url.slice(match[0].length), type); 
const formData = new FormData(); 
formData.append('image', blob, name); 

function b64toBlob(base64) { 
    const code = window.atob(base64.split(",")[1]) 
    const aBuffer = new window.ArrayBuffer(code.length) 
    const uBuffer = new window.Uint8Array(aBuffer) 

    for (let i = 0; i < code.length; i++) { 
    uBuffer[i] = code.charCodeAt(i) 
    } 

    const Builder = window.WebKitBlobBuilder || window.MozBlobBuilder 
    if (Builder) { 
    const builder = new Builder() 
    builder.append(buffer) 

    return builder.getBlob(format) 
    } else { 
    return new window.Blob([buffer], { 
     type: format 
    }) 
    } 
} 

dann können Sie die Formulardaten veröffentlichen

Verwandte Themen