Just nu i M3-nätverket
Gå till innehåll
sundrik

Spara bild på server efter client-side resize?

Rekommendera Poster

Njä.. Det fungerar till den graden att den skapar filn på servern nu. Men bilden är ingenting.

 

Jag tror strängen blir omgjord på någotvis. Så därför blir bilden korrupt.

 

Nu gäller det bara att se till så strängen är intakt hela vägen.

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Tog den strängen innan den skickas och satte in i filen save_image.asp.

 

När jag anropade filen, så istället för att ta strängen som skickades, så tog den den hårdkodade och använde.

 

När jag gjorde så, då blev bilden skapad och sparad på servern perfekt.

 

 

Jag tror att strängen blir omgjord på något sätt.

Funderar på om det är:

contentType: "application/x-www-form-urlencoded",

Som sabbar till den. Jag har provat med några andra, men då får jag bara massa felmeddelanden.

 

Sen hittade jag att urlencode tog alla + och gjorde blanksteg av dom.

Så jag gjorde en replace på alla blanksteg till +

 

Då fungerar det.

 

Men jag kan inte köra över bilderna när dom är större än ca 150kb.

Precis som det var med post på formuläret.

Skulle väl tro att jquery används precis på samma sätt som med form post.

 

Verkar som jag får försöka hitta ett annat sätt att få den datan från client-side till server-side.

 

 

Har väldigt slut på idéer just nu.... Så alla tips är välkomna =)

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Okej. Det jag gör här är att i en canvas rita en enkel bild, plocka ut bilden som en dataUrl och sen postar jag den till sidan med ajax och bilden verkar skickas som en bifogad fil vilket borde göra att du inte fastnar i problemet med storleken på requests.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8" />
    <title>Test</title>
    <style>
        canvas
        {
            width: 300px;
            height: 300px;
        }
    </style>
</head>
<body>
    <form method="post" enctype="multipart/form-data">
        <input type="file" name="file" id="file" />
        <input type="submit" />
    </form>
    <canvas id="canvas"></canvas>
    <script>
        
        var canvas = document.getElementById("canvas");
        var ctx = canvas.getContext("2d");
        var rg = ctx.createRadialGradient(100, 100, 20, 140, 100, 230);
        rg.addColorStop(0, "blue");
        rg.addColorStop(1, "yellow");
        ctx.fillStyle = rg;
        ctx.fillRect(0, 0, 300, 300);

        var base64ImageData = canvas.toDataURL("image/png");

        var fd = new FormData();
        fd.append("file", base64ImageData);

        var xhr = new XMLHttpRequest();
        xhr.open("POST", "image.asp", true);
        xhr.onreadystatechange = function (r) { };
        xhr.send(fd);  
    </script>
</body>
</html>

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Skapa ett nytt konto på vårt forum. Det är lätt!

Registrera ett nytt konto

Logga in

Redan medlem? Logga in här.

Logga in nu



×
×
  • Skapa nytt...