/// <summary> /// Save Entry Data in Zip File format /// </summary> /// <returns>bool type true if saved</returns> private bool SaveLOBData() { if (_items == null || _items.Count == 0) { // if no items // Set binary data in PO and return SetBinaryData(null); return(true); } ByteArrayOutputStream bOut = new ByteArrayOutputStream(); // initialize zip ZipOutputStream zip = new ZipOutputStream(bOut); zip.setMethod(ZipOutputStream.DEFLATED); zip.setLevel(Deflater.BEST_COMPRESSION); // try { // for every item in list int isize = _items.Count; for (int i = 0; i < isize; i++) { // get item MAttachmentEntry item = GetEntry(i); // make zip entry ZipEntry entry = new ZipEntry(item.GetName()); // set time entry.setTime(long.Parse(System.DateTime.Now.Millisecond.ToString())); entry.setMethod(ZipEntry.DEFLATED); // start setting zip entry into zip file zip.putNextEntry(entry); byte[] data = item.GetData(); object obj = (object)data; // set data into zip zip.write((byte[])obj, 0, data.Length); // close zip entry zip.closeEntry(); } // close zip zip.close(); byte[] sObjData = bOut.toByteArray(); byte[] zipData = ConvertToByte(sObjData); log.Fine("Length=" + zipData.Length); // Set binary data in PO and return SetBinaryData(zipData); return(true); } catch (Exception ex) { log.Log(Level.SEVERE, "saveLOBData", ex); } // Set binary data in PO and return SetBinaryData(null); return(false); }
/// <summary> /// Get file name of the entry at given index /// </summary> /// <param name="index">index</param> /// <returns>string</returns> public string GetEntryName(int index) { // get item MAttachmentEntry item = GetEntry(index); // get name if (item != null) { return(item.GetName()); } return(null); }