Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    473

    [C#] Conversione documento XML a Base64 in memoria

    Ciao a tutti,
    ho creato una pagina asp.net linguaggio C dove prende alcuni dati in un db e crea un file XML correttamente.

    CODICE CHE SALVA IL FILE XML
    codice:
    XmlSerializer ser = new XmlSerializer(Motore.GetType());
    var path = "C:/EXPORT/" + "motore" + ".xml";
    System.IO.FileStream file = System.IO.File.Create(path);
    ser.Serialize(new StreamWriter(file, new System.Text.UTF8Encoding()), Motore);
    file.Close();
    CODICE CHE LEGGE IL FILE XML E LO CONVERTE IN BASE64
    codice:
    Byte[] bytes = File.ReadAllBytes(path);
    String file2 = Convert.ToBase64String(bytes);
    File.WriteAllText("C:/EXPORT/" + "motore64" + ".txt", file2);
    Quello che vorrei fare � convertire il file xml in base64 senza salvarlo precedentemente.
    Vorrei capire se fosse possibile ad esempio salvare il file xml nella memoria RAM e poi convertirlo, oppure convertire subito in base64 la serializzazione del file xml...

    Sono aperto a qualsiasi soluzione, quello che vorrei � evitare di salvare ogni volta il file xml.

    Grazie

    CIAO

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    23,917
    Quote Originariamente inviata da androita Visualizza il messaggio
    Ciao a tutti,
    Quello che vorrei fare � convertire il file xml in base64 senza salvarlo precedentemente.
    Non usare FileStream: usa magari dei MemoryStream al loro posto, fermo restando che in qualche punto prima o poi dovrai caricare o salvare qualcosa su disco, se intendi mantenerla.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    473
    Ciao,
    in realtà nonmi serve salvare questi dati, devo convertire il file xml in base64 per inviarlo a un API esterna, e poi sucessivamente salvo i dati di ritorno dell'API esterna.
    Ecco perchè vorrei salvare temporaneamente il file xml sulla ram e liberarlo subito appena dopo che ho effettuato la chiamata, purtroppo però non ho mai lavorato con MemoryStream e avrei bisogno, se possibile, di un esempio per capire come funziona.

    Grazie

    Ciao

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    23,917
    Quote Originariamente inviata da androita Visualizza il messaggio
    purtroppo però non ho mai lavorato con MemoryStream e avrei bisogno, se possibile, di un esempio per capire come funziona.
    Hai letto la documentazione?
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2011
    residenza
    Arezzo
    Messaggi
    191
    Potresti privare una cosa del genere:

    codice:
    var stringa_testo_xml = "il tuo xml";
    var encoding = Encoding.UTF8;
    var byteArray = encoding.GetBytes(stringa_testo_xml);
    var base64_testo_xml = Convert.ToBase64String(byteArray);
    credo sia quello che intendevi
    Riccardo Sadocchi
    Microsoft MCP C#

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2021 vBulletin Solutions, Inc. All rights reserved.