2011-11-21 3 views
2

Je dois personnaliser AX pour charger un fichier arbitraire avec une taille arbitraire et l'enregistrer dans la base de données en tant que champ de conteneur. J'ai également besoin de lire à partir de ce champ de conteneur et écrire le contenu dans un fichier, qui devrait contenir exactement le même contenu de fichier qu'avant le chargement.Axapta: Charger et enregistrer le fichier depuis et vers le champ de conteneur

J'avais essayé avec BinaryIO, malheureusement sans chance

Répondre

5

La réponse à this question applique. Surtout, vous devez utiliser la classe système BinData et les méthodes loadFile et . Exemple: ce travail copie le programme notepad dans un répertoire temporaire.

static void BinDataTest(Args _args) 
{ 
    BinData b = new BinData(); 
    Container c; 
    b.loadFile(@"C:\Windows\notepad.exe"); 
    info(int2str(b.size())); 
    c = b.getData(); 
    b = new BinData(); 
    b.setData(c); 
    info(int2str(b.size())); 
    b.saveFile(@"C:\Temp\notepad.exe"); 
} 
+0

Salut merci Jan, le chargement est effectué au champ de conteneurs (bien que je ne sais pas si elle contient des données correctes (juste un BLOB ?? eventhough ce que je suis chargement est une donnée binaire non une image. Je essayé de sauvegarder ce champ conteneur sur le disque par saveFile - setData, malheureusement le fichier enregistré est un fichier vide avec zéro octet – user733916

+0

Dans le débogueur, quelle est la taille du conteneur BLOB? Il doit correspondre exactement à la taille du fichier. actualisé. –

Questions connexes