Ejemplo n.º 1
0
 private void ScanFiles(string[][] files)
 {
     foreach (var item in files)
     {
         var ext = Path.GetExtension(item[0]);
         if (AllowExtensions.Any() && !AllowExtensions.Contains(ext, StringComparer.CurrentCultureIgnoreCase))
         {
             Alert("您选择的文件中包含不允许上传的文件后缀");
             return;
         }
         var size = Convert.ToInt64(item[1]);
         if (size / 1000 > MaxSize && MaxSize > 0)
         {
             Alert("您选择的文件中包含大小超过允许大小的文件");
             return;
         }
         if (item.Length >= 4)
         {
             if ((Convert.ToInt32(item[2]) > Width && Width > 0) || (Convert.ToInt32(item[3]) > Height && Height > 0))
             {
                 Alert("您选择的文件中包含尺寸超过允许大小的文件");
                 return;
             }
         }
         var file = new UploadModel()
         {
             FileName = Path.GetFileName(item[0]),
             Status   = UploadStatus.UnStart,
             Url      = item.Length == 5 ? item[4] : string.Empty
         };
         Files.Add(file);
     }
 }
Ejemplo n.º 2
0
        /* ----------------------------------------------------------------- */
        ///
        /// DropForm
        ///
        /// <summary>
        /// オブジェクトを初期化します。
        /// </summary>
        ///
        /* ----------------------------------------------------------------- */
        public DropForm()
        {
            InitializeComponent();
            InitializeEvents();
            InitializePresenters();

            AllowExtensions.Add(".pdf");
            //Caption = DropPanel;
        }
        /// <summary>
        /// 检测文件类型
        /// </summary>
        /// <param name="filename"></param>
        /// <returns></returns>
        public bool CheckFileType(string filename)
        {
            var fileExtension = Path.GetExtension(filename)?.ToLower();

            if (fileExtension == null)
            {
                return(false);
            }
            return(AllowExtensions.Select(x => x.ToLower()).Contains(fileExtension));
        }
Ejemplo n.º 4
0
        private string[] GetDropedExcel(DragEventArgs e)
        {
            var fileNames = (string[])e.Data.GetData(DataFormats.FileDrop, false);

            if (!fileNames.All(fileName => AllowExtensions.Contains(Path.GetExtension(fileName))))
            {
                MessageBox.Show("xlsxまたはxlsmファイルだけを指定して下さい", "エラー");
                return(null);
            }
            return(fileNames);
        }
Ejemplo n.º 5
0
 protected override void OnParametersSet()
 {
     base.OnParametersSet();
     AllowExtensions = AllowExtensions.Select(x => x?.Trim()).ToArray();
     if (FormItem == null)
     {
         return;
     }
     if (FormItem.OriginValueHasRendered)
     {
         return;
     }
     FormItem.OriginValueHasRendered = true;
     if (FormItem.Form.Values.Any())
     {
         InitilizeFiles(FormItem.OriginValue);
     }
 }
Ejemplo n.º 6
0
 private void ScanFiles(string[][] files)
 {
     if (Files.Count >= Limit)
     {
         if (Limit == 1)
         {
             Files = new HashSet <IFileModel>();
             var item = files[0];
             AddFile(item);
             return;
         }
         else
         {
             Alert($"最多允许上传{Limit}个文件");
             return;
         }
     }
     foreach (var item in files)
     {
         var ext = Path.GetExtension(item[0]);
         if (AllowExtensions.Any() && !AllowExtensions.Contains(ext, StringComparer.CurrentCultureIgnoreCase))
         {
             Alert("您选择的文件中包含不允许上传的文件后缀");
             return;
         }
         var size = Convert.ToInt64(item[1]);
         if (size / 1000 > MaxSize && MaxSize > 0)
         {
             Alert("您选择的文件中包含大小超过允许大小的文件");
             return;
         }
         if (item.Length >= 4)
         {
             if ((Convert.ToInt32(item[2]) > Width && Width > 0) || (Convert.ToInt32(item[3]) > Height && Height > 0))
             {
                 Alert("您选择的文件中包含尺寸超过允许大小的文件");
                 return;
             }
         }
         AddFile(item);
     }
 }
Ejemplo n.º 7
0
        // 2005.01.09 - jorn, string optimize
        private bool AllowExtension(string fileName)
        {
            if (String.Compare(AllowExtensions, "*", false) == 0 && String.Compare(DenyExtensions, "*", false) == 0)
            {
                return(true);
            }
            string[] extensionList = AllowExtensions.Split(',');
            if (String.Compare(DenyExtensions, "*", false) != 0)
            {
                extensionList = DenyExtensions.Split(',');
            }
            string extension = GetExtension(fileName);

            for (int i = 0; i < extensionList.Length; i++)
            {
                if (String.Compare(extensionList[i], extension, false) == 0)
                {
                    return(false);
                }
            }
            return(true);
        }
Ejemplo n.º 8
0
        internal async Task ScanFileAsync()
        {
            var input = Input.Dom(JSRuntime);
            var files = await input.ScanFilesAsync();

            foreach (var item in files)
            {
                var ext = Path.GetExtension(item);
                if (AllowExtensions.Any() && !AllowExtensions.Contains(ext, StringComparer.CurrentCultureIgnoreCase))
                {
                    Alert("您选择的文件中包含不允许上传的文件后缀");
                    return;
                }
                var file = new UploadModel()
                {
                    FileName = Path.GetFileName(item),
                    Status   = UploadStatus.UnStart
                };
                Files.Add(file);
            }

            _ = UploadFilesAsync(input);
        }
 private IList <string> GetAllFiles()
 {
     return(Directory.GetFiles(PluginSourceDirectory, "*.*", SearchOption.AllDirectories).Where(file => AllowExtensions.Any(extension => extension.Equals(Path.GetExtension(file), StringComparison.OrdinalIgnoreCase))).ToList());
 }