2
我需要定製AX以加載任意大小的任意文件並將其作爲容器字段保存到數據庫。我還需要從該容器字段回讀並將內容寫入文件,該文件應該包含與加載之前完全相同的文件內容。Axapta:從容器字段加載並保存文件
我曾試圖與BinaryIO,遺憾的是,沒有運氣
我需要定製AX以加載任意大小的任意文件並將其作爲容器字段保存到數據庫。我還需要從該容器字段回讀並將內容寫入文件,該文件應該包含與加載之前完全相同的文件內容。Axapta:從容器字段加載並保存文件
我曾試圖與BinaryIO,遺憾的是,沒有運氣
答案this question適用。 特別是您應該使用系統類別BinData
和方法loadFile
和saveFile
。
示例:該作業將notepad
程序複製到臨時目錄。
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");
}
感謝嗨月,加載完成集裝箱場(雖然我不知道它是否包含正確的數據(僅BLOB?eventhough什麼,我加載是一個二進制數據而不是圖像。然後我嘗試通過saveFile - setData將該容器字段保存到磁盤,不幸的是,保存的文件是一個零字節的空文件 – user733916
在調試器中,容器BLOB的大小是多少?它應該完全匹配文件的大小。更新。 –