Exemplo n.º 1
0
 /// <summary>
 /// 检查图片
 /// </summary>
 /// <param name="entity"></param>
 private void CheckJPGType(ProductResourcesVM entity)
 {
     //if (entity.Thumbnail.PixelWidth == 1280 && entity.Thumbnail.PixelHeight == 1024)
     //{
     //    if (entity.ImageSize > 3 * StaticConfiguration.MBLimits)
     //    {
     //        entity.Remark = "分辨率为1280*1024的图片体积应不大于3兆。";
     //        entity.FileUploadProcessStates = FileUploadProcessStates.CheckFailed;
     //    }
     //}
     //else if (entity.Thumbnail.PixelWidth == 800 && entity.Thumbnail.PixelHeight == 600)
     //{
     //    if (entity.ImageSize > 2 * StaticConfiguration.MBLimits)
     //    {
     //        entity.Remark = "分辨率为800*600的图片体积应不大于2兆。";
     //        entity.FileUploadProcessStates = FileUploadProcessStates.CheckFailed;
     //    }
     //}
     //else if (entity.Thumbnail.PixelWidth == 640 && entity.Thumbnail.PixelHeight == 480)
     //{
     //    if (entity.ImageSize > 2 * StaticConfiguration.MBLimits)
     //    {
     //        entity.Remark = "分辨率为640*480的图片体积应不大于2兆。";
     //        entity.FileUploadProcessStates = FileUploadProcessStates.CheckFailed;
     //    }
     //}
     //else
     //{
     //    entity.Remark = "请选择分辨率为1280*1024/800*600/640*480的图片。";
     //    entity.FileUploadProcessStates = FileUploadProcessStates.CheckFailed;
     //}
 }
Exemplo n.º 2
0
        /// <summary>
        /// 获取文件实体
        /// </summary>
        /// <param name="fileInfo"></param>
        /// <param name="entity"></param>
        private void CheckFileEntity(FileInfo fileInfo, ProductResourcesVM entity)
        {
            if (entity == null)
            {
                entity = new ProductResourcesVM();
            }
            var message         = "";
            var commonSKUNumber = CheckFileName(fileInfo.Name, ref message);

            if (string.IsNullOrWhiteSpace(commonSKUNumber))
            {
                entity.FileUploadProcessStates = FileUploadProcessStates.CheckFailed;
                entity.Remark = message;
                entity.PreviewImageVisibility = Visibility.Collapsed;
                entity.FileType = ResourcesType.NotSupported;
                return;
            }
            //if (_productResources != null
            //            && !string.IsNullOrWhiteSpace(_productResources.CommonSKUNumber)
            //            && _productResources.CommonSKUNumber != commonSKUNumber)
            //{
            //    entity.Remark = "资源文件" + fileInfo.Name + "不在此商品下!";
            //    entity.FileUploadProcessStates = FileUploadProcessStates.CheckFailed;
            //    entity.PreviewImageVisibility = Visibility.Collapsed;
            //    //entity.FileType = ResourcesType.NotSupported;
            //    return;
            //}
            entity.CommonSKUNumber = commonSKUNumber;
        }
Exemplo n.º 3
0
        /// <summary>
        /// 检查360图片
        /// </summary>
        /// <param name="entity"></param>
        private void CheckSWFType(ProductResourcesVM entity)
        {
            entity.Thumbnail = LoadImage(@"/ECCentral.Portal.UI.IM;Component/Resources/360p.png");

            if (entity.ImageSize > 5 * StaticConfiguration.MBLimits)
            {
                entity.Remark = "360图片体积应不大于5兆。";
                entity.FileUploadProcessStates = FileUploadProcessStates.CheckFailed;
            }
        }
Exemplo n.º 4
0
        private ProductResourcesVM GetProductResourcesVM(FileInfo fileInfo)
        {
            if (fileInfo == null)
            {
                return(new ProductResourcesVM());
            }
            var source = new ProductResourcesVM {
                FileGuid = Guid.NewGuid(), File = fileInfo
            };

            GetFileEntity(fileInfo, source);
            source.ProductCommonInfoSysNo = _productResources.ProductCommonInfoSysNo;
            if (source.FileUploadProcessStates != FileUploadProcessStates.CheckFailed)
            {
                CheckFileEntity(fileInfo, source);
            }
            return(source);
        }
Exemplo n.º 5
0
        private ProductResourceForNewegg GetProductResource(ProductResourcesVM entity)
        {
            if (entity == null)
            {
                return(null);
            }
            var resource = new ProductResourceForNewegg
            {
                Resource = new ResourceForNewegg()
            };

            resource.ProductCommonInfoSysNo = entity.ProductCommonInfoSysNo;
            resource.Resource.TemporaryName = entity.FileIdentity;
            resource.Resource.Type          = entity.FileType;
            resource.LanguageCode           = CPApplication.Current.LanguageCode;
            resource.CompanyCode            = CPApplication.Current.CompanyCode;
            resource.Resource.OperateUser   = new UserInfo
            {
                SysNo           = CPApplication.Current.LoginUser.userSysNo,
                UserDisplayName =
                    CPApplication.Current.LoginUser.DisplayName
            };
            return(resource);
        }
Exemplo n.º 6
0
        /// <summary>
        /// 上传
        /// </summary>
        /// <param name="entity"></param>
        /// <param name="productResources"></param>
        /// <param name="count"></param>
        private void UpLoad(ProductResourcesVM entity, List <ProductResourceForNewegg> productResources, int count)
        {
            if (productResources == null)
            {
                productResources = new List <ProductResourceForNewegg>();
            }
            if (entity.FileUploadProcessStates != FileUploadProcessStates.WaitingToUpload)
            {
                entity.FileIdentity = "-1";
                return;
            }
            var client = new FileUploadClient(ConstValue.DomainName_IM, entity.File, 1);

            //if (entity.FileType == ResourcesType.Image)
            //{
            //    client.AppName = "product";
            //}
            //if (entity.FileType == ResourcesType.Image360)
            //{
            //    client.AppName = "ProductImage360";
            //}

            //if (entity.FileType == ResourcesType.Video)
            //{
            //    client.AppName = "ProductVideo";
            //}
            client.AppName = "product";
            entity.FileUploadProcessStates = FileUploadProcessStates.Uploading;
            client.UploadProgressChanged  += (se, args) =>
            {
                long t = args.TotalUploadedDataLength;                   // 已经上传的数据大小
                entity.UploadedPercentage = (float)t / entity.ImageSize; // 上传数据的百分比
            };
            client.UploadErrorOccured += (se, args) =>
            {
                entity.FileUploadProcessStates = FileUploadProcessStates.UploadFailed;
                entity.Remark = args.Exception.Message;
                CPApplication.Current.CurrentPage.Context.Window.Alert(args.Exception.Message);
                entity.FileIdentity = "-1";
            };
            client.UploadCompleted += (se, args) =>
            {
                entity.FileUploadProcessStates = FileUploadProcessStates.Uploaded;
                entity.Remark       = "";
                entity.FileIdentity = args.FileIdentity;
                var source = GetProductResource(entity);
                source.Resource.ResourceURL = args.ServerFilePath;
                source.IsNeedWatermark      = _productResources.IsNeedWatermark;
                productResources.Add(source);
                if (count == productResources.Count)
                {
                    _productResources.ResourceCollection.ForEach(v =>
                    {
                        if (v.FileUploadProcessStates == FileUploadProcessStates.Uploaded)
                        {
                            v.FileUploadProcessStates =
                                FileUploadProcessStates.Processing;
                        }
                    });
                    CreateProductResources(productResources);
                }
            };
            client.Upload();
        }
Exemplo n.º 7
0
 private void CheckFLVType(ProductResourcesVM entity)
 {
     entity.Thumbnail = LoadImage(@"/ECCentral.Portal.UI.IM;Component/Resources/videop.png");
 }
Exemplo n.º 8
0
        /// <summary>
        /// 获取文件实体
        /// </summary>
        /// <param name="fileInfo"></param>
        /// <param name="entity"></param>
        private void GetFileEntity(FileInfo fileInfo, ProductResourcesVM entity)
        {
            if (entity == null)
            {
                entity = new ProductResourcesVM();
            }
            var myStream = fileInfo.OpenRead();
            var fileHead = new byte[3];

            myStream.Position = 0;
            myStream.Read(fileHead, 0, 3);
            string fileHeadInfo = fileHead[0].ToString() + fileHead[1].ToString() + fileHead[2].ToString();
            var    fileType     = Convert.ToInt32(fileHeadInfo);
            string fileTypedesc = fileType.ToString().Length > 6 ? fileType.ToString().Substring(0, 6) : fileType.ToString();
            var    result       = Enum.IsDefined(typeof(FileExtension), Convert.ToInt32(fileTypedesc));

            if (!result)
            {
                entity.FileUploadProcessStates = FileUploadProcessStates.CheckFailed;
                entity.Remark = "文件损坏";
                entity.PreviewImageVisibility = Visibility.Collapsed;
                entity.FileType = ResourcesType.NotSupported;
            }
            else
            {
                var filetype = (FileExtension)Enum.Parse(typeof(FileExtension), fileTypedesc, false);
                switch (filetype)
                {
                case FileExtension.JPG:
                    entity.FileType = ResourcesType.Image;
                    entity.PreviewImageVisibility = Visibility.Visible;
                    entity.PreviewImage           = new BitmapImage();
                    entity.PreviewImage.SetSource(myStream);
                    entity.FileType  = ResourcesType.Image;
                    entity.Thumbnail = new BitmapImage();
                    entity.Thumbnail.SetSource(myStream);
                    CheckJPGType(entity);
                    break;

                case FileExtension.SWF:
                    entity.FileType = ResourcesType.Image360;
                    entity.PreviewImageVisibility = Visibility.Collapsed;
                    CheckSWFType(entity);
                    break;

                case FileExtension.SWF1:
                    entity.PreviewImageVisibility = Visibility.Collapsed;
                    entity.FileType = ResourcesType.Image360;
                    CheckSWFType(entity);
                    break;

                case FileExtension.FLV:
                    entity.FileType = ResourcesType.Video;
                    entity.PreviewImageVisibility = Visibility.Collapsed;
                    CheckFLVType(entity);
                    break;
                }
            }
            entity.ImageSize = fileInfo.Length;

            entity.UploadedPercentage = 0;
        }