public StoreCloudItem UploadFile(StoreCloud storeCloud, string VirtualPath, System.IO.Stream Fichier, string newFileName = null) { try { if (string.IsNullOrWhiteSpace(VirtualPath)) { VirtualPath = "/"; // alors prendre la catégorie principale du storecloud (virtualpath = / ), jamais vide } using (var memoryStream = new MemoryStream()) { Fichier.CopyTo(memoryStream); var fich = memoryStream.ToArray(); string id = swift.Upload(storeCloud.IDStore.ToString(), fich); StoreCloudItem nouveau = new StoreCloudItem(); nouveau["IDItem"] = null; nouveau.IDPhysicalFile = id; nouveau.NameFile = newFileName; nouveau.IDStore = storeCloud.IDStore; nouveau.VirtualPath = VirtualPath; // Insert base.InsertBubble(nouveau, false, true); // usekey=false car incrémenté , getlastautoincrement = true car incrémenté, si c'était des clefs prédéfinis il faudra inverser return(nouveau); } } catch (Exception ex) { throw new Exception("UploadFile " + ex.Message, ex); } }
public StoreCloudItem GetFile(long IDItem) { Dictionary <string, object> ins = new Dictionary <string, object>(); ins.Add("IDItem", IDItem); StoreCloudItem retour = base.GetOneDefault <StoreCloudItem>(ins); return(retour); }
public System.IO.Stream DownloadFile(StoreCloudItem storeClouditem) { try { return(new MemoryStream(swift.Download(storeClouditem.IDStore.ToString(), storeClouditem.IDPhysicalFile))); } catch (Exception ex) { throw new Exception("DownloadFile " + ex.Message, ex); } }
/// <summary> /// Deplacer fichier /// </summary> /// <param name="fichier">fichier à deplacer</param> public void MoveFile(FORM.StoreCloudItemForm fichier) { try { StoreCloudItem csi = GetFile(fichier.IDItem); csi.NameFile = fichier.NameFile; csi.VirtualPath = fichier.VirtualPath; base.SaveBubble(csi); } catch (Exception ex) { throw new Exception("MoveFile " + ex.Message, ex); } }
// !!! Ajouter SaveFile /// <summary> ///// Telecharger une fichier ///// </summary> ///// <param name="storeCloud">Nom de dossier</param> ///// <param name="IDLocalFile">identifiant de fichier</param> ///// <returns></returns> //public void SaveFile(StoreCloud storeCloud, string IDLocalFile, System.IO.FileInfo myFile) //{ // try // { // LocalFilerProvider lfProv = new LocalFilerProvider(); // lfProv.SaveFile(storeCloud.IDStore.ToString(), IDLocalFile, myFile); // } // catch (Exception ex) // { // throw new Exception("SaveFile " + ex.Message, ex); // } //} /// <summary> /// Supprimer fichier /// </summary> /// <param name="containerName">Nom de dossier</param> /// <param name="IDLocalFile">Id fichier</param> public void DeleteFile(StoreCloud storeCloud, long IDFile) { try { StoreCloudItem csi = GetFile(IDFile); if (csi != null) { // swift.Delete(storeCloud.IDStore.ToString(), csi.IDPhysicalFile); base.DeleteBubble(csi); } } catch (Exception ex) { throw new Exception("DeleteFile " + ex.Message, ex); } }
/// <summary> /// Deplacer fichier /// </summary> /// <param name="fichier">fichier à deplacer</param> public void EditFile(FORM.StoreCloudItemForm fichier) { try { StoreCloudItem csi = GetFile(fichier.IDItem); if (csi.ItemSealed) { throw new Exception("Sealed Item"); } csi.NameFile = fichier.NameFile; csi.LabelFile = fichier.LabelFile; base.SaveBubble(csi); } catch (Exception ex) { throw new Exception("EditFile " + ex.Message, ex); } }
/// <summary> /// Get base64String /// </summary> /// <param name="idfichier">fichier à deplacer</param> public string Getbase64String(int idstore, long idfichier, bool safe = true) { try { StoreCloudItem csi = GetFile(idfichier); byte[] imageBytes = swift.Download(idstore.ToString(), idfichier.ToString()); // Convert byte[] to Base64 String string base64String = Convert.ToBase64String(imageBytes); return(base64String); } catch (Exception ex) { if (safe) { return(null); } else { throw new Exception("Getbase64String " + ex.Message, ex); } } }