Ho un problema nel caricare le immagini su http://imm.io/(è la prima volta che mi avventuro nei metodi di HttpWebRequest, quindi abbiate pazienza ).
Come è riportato nella api del sito, vorrei fare questo tipo di lavoro:

codice:
<form action="http://imm.io/store/" method="post" 
      enctype="multipart/form-data">
   <input name="name" value="logo.png" type="hidden" />
   <input name="image" 
          value="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..." 
          type="hidden" />
   <input type="submit" />
</form>
Tradotto però in VB.NET.
Ho già scritto varie righe di codice, ma ottengo sempre la seguente risposta dal server:

codice:
{"success":false, "payload":"error uploading"}
Che indica la riuscita fallita del caricamento dell'immagine.
Il codice da me scritto è:

codice:
    Public Sub PostToImmio(ByVal FileName As String)
        'Lettura immagine in un array di bytes.
        Dim imageData As Byte()
        Dim fs As FileStream = File.OpenRead(FileName)
        imageData = New Byte(fs.Length) {}
        fs.Read(imageData, 0, imageData.Length)
        fs.Close()
        'Converto l'immagine in una stringa di base64
        Const MAX_URI_LENGTH As Integer = 32766
        Dim base64img As String = System.Convert.ToBase64String(imageData)
        Dim sb As StringBuilder = New StringBuilder()
        Dim i As Integer = 0
        While i < base64img.Length
            sb.Append(Uri.EscapeDataString(base64img.Substring(i, Math.Min(MAX_URI_LENGTH, base64img.Length - i))))
            i += MAX_URI_LENGTH
        End While
        'Carico l'immagine
        Dim uploadRequestString As String = "data:image/png;base64," & sb.ToString()
        Dim webReq As HttpWebRequest = DirectCast(WebRequest.Create("http://imm.io/store/"), HttpWebRequest)
        webReq.Method = "POST"
        webReq.ContentType = "multipart/form-data"
        webReq.ServicePoint.Expect100Continue = False
        Dim sw As StreamWriter = New StreamWriter(webReq.GetRequestStream())
        sw.Write(uploadRequestString)
        sw.Close()
        'Ottengo la risposta dal server.
        Dim response As WebResponse = webReq.GetResponse()
        Dim responseStream As Stream = response.GetResponseStream()
        Dim responseReader As StreamReader = New StreamReader(responseStream)
        Dim responseString As String = responseReader.ReadToEnd()
    End Sub
Grazie dell'aiuto sentitevi liberi di insultarmi