示例#1
0
        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);
            }
        }
示例#2
0
        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);
        }
示例#3
0
 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);
     }
 }
示例#4
0
 /// <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);
     }
 }
示例#5
0
        // !!! 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);
            }
        }
示例#6
0
 /// <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);
     }
 }
示例#7
0
        /// <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);
                }
            }
        }