Esempio n. 1
0
        public void ProcessRequest(HttpContext context)
        {
            HttpRequest  Request  = context.Request;
            HttpResponse Response = context.Response;

            Response.ContentType = "text/plain";

            string filename = Request["fileName"];
            string retSn    = string.Empty;
            string dot      = "";

            if (!string.IsNullOrEmpty(filename))
            {
                string fileType = Path.GetExtension(filename).ToLower();



                if (!string.IsNullOrEmpty(fileType))
                {
                    if (fileType.IndexOf(".") > -1)
                    {
                        fileType = fileType.Substring(1);
                        dot      = ".";
                    }
                }

                retSn = new Resource().GetSN(ResourceTypeFactory.getResourceType(fileType).ResourceSNPrefix);
                retSn = retSn + dot + fileType + ":" + filename;
            }
            context.Session["sn"] = retSn;
            Response.Write(retSn); //返回带有扩展名的新文件
        }
Esempio n. 2
0
    private void uploadSourceFile(HttpPostedFile hpf)
    {
        string filename = hpf.FileName;
        string fileType = Path.GetExtension(filename);
        string savePath = string.Empty;

        //yangguang
        //if (fileType.IndexOf(".") > -1)
        //{
        //    savePath = ResourceTypeFactory.getResourceType(fileType.Substring(1)).SourcePath;
        //}
        //else
        //{
        //    savePath = ResourceTypeFactory.getResourceType(fileType).SourcePath;
        //}
        if (fileType.IndexOf(".") > -1)
        {
            savePath = ResourceTypeFactory.getResourceType(fileType.Substring(1)).GetSourcePath();
        }
        else
        {
            savePath = ResourceTypeFactory.getResourceType(fileType).GetSourcePath();
        }

        savePath = Path.Combine(savePath, CurrentUser.UserLoginName);


        string resourceseq  = Path.GetFileNameWithoutExtension(savedFileName);
        string fileFullPath = Path.Combine(savePath, resourceseq + fileType);

        try {
            if (!Directory.Exists(savePath))
            {
                Directory.CreateDirectory(savePath);
            }
            //Console.WriteLine("Pre   Content Length-----" + hpf.ContentLength);
            //Console.WriteLine("Pre Current-----" + hpf.InputStream.Seek(0, SeekOrigin.Current));
            //Console.WriteLine("Pre  position-----" + hpf.InputStream.Position);
            //Console.WriteLine("Pre  Length-----" + hpf.InputStream.Length);
            hpf.SaveAs(fileFullPath);
            //Console.WriteLine("Re Content Length-----" + hpf.ContentLength);
            //Console.WriteLine("Re Current-----" + hpf.InputStream.Seek(0, SeekOrigin.Current));
            //Console.WriteLine("Re  Position -----" + hpf.InputStream.Position);
            //Console.WriteLine("Re Length-----" + hpf.InputStream.Length);

            //Console.WriteLine("End -----" + hpf.InputStream.Seek(0, SeekOrigin.End));
            //Console.WriteLine("End  postion-----" + hpf.InputStream.Position);
        }
        catch (Exception ep) {
            LogWriter.WriteExceptionLog(ep, true);
        }
    }
Esempio n. 3
0
        protected string GetImgUrl(string ItemSerialNum, string ImageType, string folder, string resourceType)
        {
            IResourceType obj = ResourceTypeFactory.getResourceTypeByString(resourceType);

            if (resourceType.ToLower().Equals("image"))
            {
                return(UIBiz.CommonInfo.GetImageUrl(170, folder, ItemSerialNum, ImageType));
            }
            else
            {
                return(obj.GetPreviewPathRead(folder, ItemSerialNum + ".jpg", "image"));
            }

            return(obj.GetPreviewPathRead(folder, ItemSerialNum, ImageType));
        }
Esempio n. 4
0
        //protected string GetImgUrl(string ItemSerialNum, string ImageType, string folder)
        //{
        //    return UIBiz.CommonInfo.GetImageUrl(170, folder, ItemSerialNum, ImageType);

        //}


        protected string GetImgUrl(string ItemSerialNum, string serverFileName, string folder, string resourceType)
        {
            IResourceType obj = ResourceTypeFactory.getResourceTypeByString(resourceType);

            if (resourceType.ToLower().Equals("image"))
            {
                return(obj.GetPreviewPathRead(folder, serverFileName, "170"));
            }
            else if (resourceType.ToLower().Equals("video"))
            {
                return(obj.GetPreviewPathRead(folder, ItemSerialNum + ".jpg", "image"));
            }

            return("");
            //return obj.GetPreviewPathRead(folder, ItemSerialNum, ImageType);
        }
Esempio n. 5
0
        protected void btnUpload_ServerClick(object sender, EventArgs e)
        {
            //是否有版权的资源
            int hasCopyRight = 0;

            try
            {
                hasCopyRight = Convert.ToInt32(this.rblCopyright.SelectedValue);
            }
            catch (Exception ex)
            { }


            #region 验证日期部分
            //if (this.shotDate1.Text.Trim() == string.Empty)
            //{
            //    this.ShowMessage(this, "请选择时间");
            //    return;
            //}
            //else
            //{
            //    if (Convert.ToDateTime(this.shotDate1.Text) > DateTime.Now)
            //    {
            //        this.ShowMessage(this, "拍摄时间应比现在早");
            //        return;
            //    }
            //}
            //验证日期
            DateTime sDate = new DateTime();
            DateTime eDate = new DateTime();
            if (this.startDate.Text != "")
            {
                //有效开始日期就不做验证了,只要结束日期比现在晚就可以了。

                sDate = Convert.ToDateTime(this.startDate.Text);
                //if (sDate <= DateTime.Now)
                //{
                //    this.ShowMessage(this, "有效开始日期应比现在日期晚");
                //    return;
                //}
            }
            else
            {
                sDate = Convert.ToDateTime("1900-01-01");
            }
            if (this.endDate.Text != "")
            {
                eDate = Convert.ToDateTime(this.endDate.Text);

                if (sDate == Convert.ToDateTime("1900-01-01") && eDate < DateTime.Now)
                {
                    this.ShowMessage(this, "有效结束日期应至少比现在日期晚");
                    return;
                }
                else if (eDate < sDate)
                {
                    this.ShowMessage(this, "有效结束日期应比有效开始日期晚");
                    return;
                }
            }
            else
            {
                eDate = Convert.ToDateTime("1900-01-01");
            }

            #endregion


            #region 验证是否选择目录节点
            ////根节点
            //TreeNode parentNode = catalogTree.RootNode;
            ////获取checked的节点List
            //ArrayList nodeList = new ArrayList();
            //this.catalogTree.ArrCheckbox(nodeList, parentNode);

            //ArrayList catalogIds = new ArrayList(nodeList.Count);
            //foreach (TreeNode node in nodeList)
            //{

            //    catalogIds.Add(new Guid(node.Value));
            //}

            //if (catalogIds.Count == 0)
            //{
            //    this.ShowMessage(this, "没有选择分类,上传失败!");
            //    return;
            //}


            string   catIds    = this.hidCatIds.Value.Trim().Trim(new char[] { ',' });
            string[] arrCatIds = catIds.Split(",".ToCharArray());
            if (arrCatIds.Length == 0)
            {
                this.ShowMessage(this, "没有选择分类,上传失败!");
                return;
            }
            ArrayList catalogIds = new ArrayList(arrCatIds.Length);
            foreach (string _s in arrCatIds)
            {
                catalogIds.Add(new Guid(_s));
            }
            #endregion


            string fileName = "";   //原始文件名
            if (!string.IsNullOrEmpty(Request["selectedFile"]))
            {
                fileName = Request["selectedFile"].ToString().ToLower();
            }
            else
            {
                return;
            }

            string uploadFileName = ""; //上传以后重新分配的文件名 prefix+yymmdd+00001.extention
            if (!string.IsNullOrEmpty(Request["uploadFileName"]))
            {
                uploadFileName = Request["uploadFileName"].ToString();
            }
            else
            {
                return;
            }

            string[] arrFiles = uploadFileName.Split(',');


            foreach (string singleFiles in arrFiles)
            {
                if (!singleFiles.Contains(":"))
                {
                    continue;
                }

                string[] _arr = singleFiles.Split(':');
                string   strClientFileName = _arr[1];
                string   strServerFileName = _arr[0];



                fileName       = strClientFileName;
                uploadFileName = strServerFileName;

                /** start **/
                Resource       objResource = new Resource();
                ResourceEntity model       = new ResourceEntity();

                //管理员上传直接审核通过
                if (IsSuperAdmin)
                {
                    model.Status = (int)ResourceEntity.ResourceStatus.IsPass;
                }
                else
                {
                    model.Status = (int)ResourceEntity.ResourceStatus.NewUpload;
                }

                //改成所有人上传的都可以直接通过 , 到时直接注释下面一句话就可以
                model.Status = (int)ResourceEntity.ResourceStatus.IsPass;
                model.Status = 0;

                if (this.txt_Caption.Value.Trim().Length > 0)
                {
                    model.Caption = this.txt_Caption.Value;
                }
                else
                {
                    model.Caption = Path.GetFileNameWithoutExtension(strClientFileName);
                }

                model.Description = this.description.Value;
                model.EndDate     = eDate;
                model.FileName    = fileName;
                model.FolderName  = CurrentUser.UserLoginName;
                if (uploadFileName.ToLower().IndexOf(".cr2") != -1 || uploadFileName.ToLower().IndexOf(".nef") != -1 || uploadFileName.ToLower().IndexOf(".psd") != -1)
                {
                    model.ServerFileName = uploadFileName.Replace("cr2", "jpg").Replace("nef", "jpg").Replace("psd", "jpg");
                }
                else
                {
                    model.ServerFileName = uploadFileName;
                }
                model.GroupId       = CurrentUser.UserGroupId;
                model.ItemId        = Guid.NewGuid();
                model.ItemSerialNum = Path.GetFileNameWithoutExtension(uploadFileName);
                //model.Keyword = this.keyWord.Value;
                model.Keyword = this.txtKeyWords.Text.Trim().Trim(",".ToCharArray());
                //model.shotDate = Convert.ToDateTime(this.shotDate1.Text);
                model.StartDate  = sDate;
                model.uploadDate = DateTime.Now;
                model.userId     = CurrentUser.UserId;
                model.updateDate = DateTime.Now;
                model.Author     = this.txt_Author.Value.Trim();

                //取得文件的扩展名,不包括.号
                string fileExtName = string.Empty;
                fileExtName = Path.GetExtension(fileName);
                if (fileExtName.IndexOf(".") > -1)
                {
                    fileExtName = fileExtName.Substring(1);
                }

                model.ResourceType = ResourceTypeFactory.getResourceType(fileExtName).ResourceType;
                model.FileSize     = Resource.GetResourceFileSize(uploadFileName, model.FolderName, fileExtName, "");
                model.HasCopyright = hasCopyRight;

                model.shotDate = DateTime.Now;
                DateTime shotDateTime = Resource.GetResourceShotDateTime(uploadFileName, model.FolderName, model.ResourceType, "");
                if (shotDateTime != DateTime.MinValue)
                {
                    model.shotDate = shotDateTime;
                }

                objResource.Add(model);
                objResource.CreateRelationshipResourceAndCatalog(model.ItemId, (Guid[])catalogIds.ToArray(typeof(Guid)));

                //同时更新索引
                string[] SNs = new string[] { model.ItemSerialNum };
                ResourceIndex.updateIndex(SNs);
            }
            /** end  **/



            #region 注释部分

            //VideoStorageClass vsc = new VideoStorageClass();
            //VideoStorage v = new VideoStorage();
            //v.Caption = this.txt_Caption.Value;
            //v.Description = this.description.Value;
            //v.EndDate = eDate;
            //v.FileName = fileName;
            //v.FolderName = CurrentUser.UserLoginName;
            //v.ServerFileName = uploadFileName;
            //v.GroupId = CurrentUser.UserGroupId;
            //v.ItemId = Guid.NewGuid();
            //v.ItemSerialNum = Path.GetFileNameWithoutExtension(uploadFileName);
            //v.Keyword = this.keyWord.Value;
            //v.shotDate = Convert.ToDateTime(this.shotDate.Value);
            //v.StartDate = sDate;
            //v.uploadDate = DateTime.Now;
            //v.userId = CurrentUser.UserId;
            //v.updateDate = DateTime.Now;

            ////存储数据库记录
            //// img.ItemSerialNum = ImageStorageClass.AddImageStorage(img);

            //if (!vsc.Add(v))
            //{
            //    this.ShowMessage(this, "上传失败");
            //    return;
            //}

            //vsc.CreateRelationshipVideoAndCatalog(v.ItemId, (Guid[])catalogIds.ToArray(typeof(Guid)));
            #endregion


            //this.shotDate1.Text = "";
            this.keyWord.Value     = "";
            this.description.Value = "";
            this.txt_Caption.Value = "";
            this.startDate.Text    = "";
            this.endDate.Text      = "";
            initCalendar();

            //this.ShowMessage(this, "上传成功");
            //Page.ClientScript.RegisterStartupScript(this.GetType(), "", "<script>myUploadSuccess2()</script>");
            Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "", "<script>myUploadSuccess2()</script>");
        }
Esempio n. 6
0
    private void uploadResource()
    {
        HttpPostedFile objFile = Request.Files["Filedata"];

        if (objFile != null)
        {
            string filename = objFile.FileName;
            string fileType = Path.GetExtension(filename).ToLower();
            if (fileType.IndexOf(".") == -1)
            {
                fileType = "." + fileType;
            }
            //string resourceType = new Resource().GetResourceTypeByFileExtention(fileType);
            string resourceType = ResourceTypeFactory.getResourceType(fileType.Substring(1)).ResourceType;

            if (resourceType.Equals("image"))
            {
                if (!this.CheckImageType(fileType) || fileType == "ai")
                {
                    uploadFile();
                }
                else
                {
                    if (fileType == ".cr2" || fileType == ".nef")
                    {
                        string path = Server.MapPath(@"\temp\" + filename);
                        string name = filename.Replace(Path.GetExtension(filename), string.Empty);
                        objFile.SaveAs(path);
                        TransformMode(path);
                        Thread.Sleep(5000);
                        SaveImage(name, Path.GetExtension(filename));
                    }
                    else if (fileType == ".psd")
                    {
                        string name = Guid.NewGuid().ToString();
                        string path = Server.MapPath(@"\temp\" + name + fileType);
                        objFile.SaveAs(path);
                        TransformPSD(path, name);
                        Thread.Sleep(15000);
                        SaveImagePSD(name, Path.GetExtension(filename));
                    }
                    else
                    {
                        SaveImage();
                    }
                }
            }
            else if (resourceType.Equals("video"))
            {
                uploadVideo(objFile);
            }
            else if (resourceType.Equals("document"))
            {
                uploadDocumentFile(objFile);
            }
            else if (resourceType.Equals("other"))
            {
                uploadOtherFile(objFile);
            }
        }
    }
Esempio n. 7
0
        /// <summary>
        /// 进行请求处理,返回图像或数据
        /// </summary>
        private void ProcessRequest(string fileName, string subfolder, string fileType, string userName, string usage, string endUser, string resourceType, string attType)
        {
            //string strResourceRootPath = UIBiz.CommonInfo.ResourceRootPath;

            strUserName = CurrentUser.UserLoginName;
            string        strFullFilePath = string.Empty;
            IResourceType rt = null;

            if (string.IsNullOrEmpty(subfolder))
            {
                rt = ResourceTypeFactory.getResourceTypeByString(resourceType.ToLower());
                //yangguang
                //strFullFilePath = Path.Combine(rt.SourcePath, userName);
                //strFullFilePath = Path.Combine(strFullFilePath, fileName + fileType);
                strFullFilePath = rt.GetSourcePath(userName, fileName + fileType);
                strFile         = resourceType.ToLower() + "_" + strFullFilePath;
            }
            else
            {
                if (resourceType.ToLower().Equals("image"))
                {
                    rt = ResourceTypeFactory.getResourceTypeByString(resourceType.ToLower());
                    //yangguang
                    //strFullFilePath = Path.Combine(rt.SourcePath, userName);
                    //strFullFilePath = Path.Combine(strFullFilePath, subfolder + "/" + fileName + fileType);
                    strFullFilePath = rt.GetSourcePath(userName, subfolder + "/" + fileName + fileType);
                    strFile         = resourceType.ToLower() + "_" + strFullFilePath;
                }
                else if (resourceType.ToLower().Equals("video"))
                {
                    rt = ResourceTypeFactory.getResourceTypeByString(resourceType.ToLower());
                    //yangguang
                    //strFullFilePath = Path.Combine(rt.SourcePath, userName);
                    //strFullFilePath = Path.Combine(strFullFilePath, subfolder + "/" + fileName + fileType);
                    strFullFilePath = rt.GetSourcePath(userName, subfolder + "/" + fileName + fileType);
                    strFile         = resourceType.ToLower() + "_" + strFullFilePath;
                }
                else if (resourceType.ToLower().Equals("other"))
                {
                    rt = ResourceTypeFactory.getResourceTypeByString(resourceType.ToLower());
                    //yangguang
                    //strFullFilePath = Path.Combine(rt.SourcePath, userName);
                    //strFullFilePath = Path.Combine(strFullFilePath, subfolder + "/" + fileName + fileType);
                    strFullFilePath = rt.GetSourcePath(userName, subfolder + "/" + fileName + fileType);
                    strFile         = resourceType.ToLower() + "_" + strFullFilePath;
                }
            }
            #region
            //string resUrl = string.Empty;
            //resUrl = UIBiz.CommonInfo.FileDownPath + "/" + userName + "{0}" + fileName + fileType;

            //if (resourceType.ToLower().Equals("video"))
            //{
            //    strFullFilePath = Path.Combine(Path.Combine(Path.Combine(strResourceRootPath, "video"), "Source"), userName);
            //    if (attType.ToLower().Equals("attachment"))
            //    {
            //        resUrl = UIBiz.CommonInfo.FileDownPath + "/../video/source/" + userName + "{0}/attachments/" + fileName + fileType;
            //        strFullFilePath = Path.Combine(strFullFilePath, UIBiz.CommonInfo.AttachFolder);

            //    }

            //}
            //else if (resourceType.ToLower().Equals("image"))
            //{
            //    //strFullFilePath = Path.Combine(Path.Combine(Path.Combine(strResourceRootPath,"images"), "Source") , userName); //91的结构
            //    strFullFilePath = Path.Combine(UIBiz.CommonInfo.ImageRootPath, userName);
            //    if (attType.ToLower().Equals("attachment"))
            //    {
            //        resUrl = UIBiz.CommonInfo.FileDownPath + "/../video/source/" + userName + "{0}/attachments/" + fileName + fileType;
            //        strFullFilePath = Path.Combine(strFullFilePath, UIBiz.CommonInfo.AttachFolder);

            //    }

            //}

            //else if (resourceType.ToLower().Equals("document"))
            //{
            //    strFullFilePath = Path.Combine(Path.Combine(strResourceRootPath, "document"), userName);

            //}

            //else if (resourceType.ToLower().Equals("other"))
            //{
            //    strFullFilePath = Path.Combine(Path.Combine(strResourceRootPath, "other"), userName);

            //}
            #endregion
            if (File.Exists(strFullFilePath))
            {
                WriteLog wl = new WriteLog(this.WriteLogDB);
                wl.BeginInvoke(fileName, fileType, strUserName, usage, endUser, userName, true, resourceType, null, null);

                System.IO.Stream iStream = null;
                try {
                    byte[] buffer = new Byte[10000];
                    int    length;
                    long   dataToRead;
                    string filepath = strFullFilePath;
                    string filename = System.IO.Path.GetFileName(filepath);

                    iStream = new System.IO.FileStream(strFullFilePath, System.IO.FileMode.Open,
                                                       System.IO.FileAccess.Read, System.IO.FileShare.Read);
                    dataToRead = iStream.Length;

                    Response.Buffer = false;
                    Response.AddHeader("Connection", "Keep-Alive");
                    Response.ContentType = "application/octet-stream";
                    Response.AddHeader("Content-Disposition", "attachment; filename=" + encodeChineseFileName(filename));
                    Response.AddHeader("Content-Length", iStream.Length.ToString());

                    while (dataToRead > 0)
                    {
                        if (Response.IsClientConnected)
                        {
                            length = iStream.Read(buffer, 0, 10000);
                            Response.OutputStream.Write(buffer, 0, length);
                            Response.Flush();

                            buffer     = new Byte[10000];
                            dataToRead = dataToRead - length;
                        }
                        else
                        {
                            dataToRead = -1;
                        }
                    }
                }
                catch (Exception ex) {
                    // Trap the error, if any.
                    Response.Write("Error : " + ex.Message);
                }
                finally {
                    if (iStream != null)
                    {
                        //Close the file.
                        iStream.Close();
                    }
                }
                #region
                //Response.WriteFile(strFullFilePath);
                //Response.TransmitFile(strFullFilePath);
                //Response.Clear();
                //Response.Buffer = true;
                //Response.ContentType = "application/octet-stream";
                //Response.AddHeader("Content-Disposition", "attachment;filename=" + encodeChineseFileName(fileName + fileType));
                //Response.BinaryWrite(rawImg);
                //Response.End();
                #endregion
            }
            #region
            //if (!string.IsNullOrEmpty(subfolder))
            //{
            //    resUrl = string.Format(resUrl, "/" + subfolder + "/");
            //}
            //else
            //{
            //    resUrl = string.Format(resUrl, "/");
            //}
            //if (resUrl != null && resUrl != "")
            //{
            //   // wl.BeginInvoke(fileName, fileType, CurrentUser.UserLoginName, usage, endUser, userName, true , resourceType, null, null);

            //    //Response.Redirect(resUrl, true);

            //    //这里不采用 response.binarywrite方法往客户端发送数据,主要是大文件引起的问题,而且也没有这个必要
            //    //by ciqq 2010-4-1
            //}
            #endregion
        }
Esempio n. 8
0
        private string SaveImage()
        {
            //HttpPostedFile f = Request.Files["Filedata"];

            HttpPostedFile f        = this.fuImage.PostedFile;
            string         filename = f.FileName;
            string         filetype = Path.GetExtension(filename).ToLower();
            ImageType      obj      = new ImageType();
            string         savePath = obj.GetSourcePath(obj.SourcePaths);

            savePath = Path.Combine(savePath, CurrentUser.UserLoginName);


            //string retSn = new Resource().GetSN(ResourceTypeFactory.getResourceType(filetype).ResourceSNPrefix) +  filetype;


            string resourceseq  = new Resource().GetSN(ResourceTypeFactory.getResourceType(filetype.Substring(1)).ResourceSNPrefix);
            string fileFullPath = Path.Combine(savePath, resourceseq + filetype);

            bool slImage;

            try
            {
                if (!Directory.Exists(savePath))
                {
                    Directory.CreateDirectory(savePath);
                }
                //保存原图
                f.SaveAs(fileFullPath);

                string SlImageRootPath;
                SlImageRootPath = Path.Combine(obj.PreviewPath_170, CurrentUser.UserLoginName);
                if (!Directory.Exists(SlImageRootPath))
                {
                    Directory.CreateDirectory(SlImageRootPath);
                }

                ArrayList sarray = new ArrayList();
                sarray.Add(fileFullPath);
                ArrayList aarray = new ArrayList();
                aarray.Add(Path.Combine(SlImageRootPath, resourceseq + filetype));
                ImageController.ToZipImage(sarray, aarray, 170);

                SlImageRootPath = Path.Combine(obj.PreviewPath_400, CurrentUser.UserLoginName);
                if (!Directory.Exists(SlImageRootPath))
                {
                    Directory.CreateDirectory(SlImageRootPath);
                }

                sarray = new ArrayList();
                sarray.Add(fileFullPath);
                aarray = new ArrayList();
                aarray.Add(Path.Combine(SlImageRootPath, resourceseq + filetype));
                ImageController.ToZipImage(sarray, aarray, 400);


                //将原图的长x宽保存起来

                System.Drawing.Image m_Image = System.Drawing.Image.FromFile(fileFullPath);

                Int32  height = Convert.ToInt32(m_Image.Height.ToString());
                Int32  width  = Convert.ToInt32(m_Image.Width.ToString());
                string hvsp   = string.Empty;


                if (height > width)
                {
                    hvsp = "v";
                }
                else if (width > height)
                {
                    hvsp = "h";
                }
                else
                {
                    hvsp = "s";
                }

                Dictionary <string, string> dct = new Dictionary <string, string>();
                dct.Add("Width", width.ToString());
                dct.Add("Height", height.ToString());
                dct.Add("Hvsp", hvsp);
                List <QJVRMS.Business.ResourceWS.DictionaryEntry> lst = new List <QJVRMS.Business.ResourceWS.DictionaryEntry>();

                foreach (string key in dct.Keys)
                {
                    QJVRMS.Business.ResourceWS.DictionaryEntry de = new QJVRMS.Business.ResourceWS.DictionaryEntry();
                    de.Key   = key;
                    de.Value = dct[key];
                    lst.Add(de);
                }

                QJVRMS.Business.ResourceWS.DictionaryEntry[] result = lst.ToArray();

                Resource r = new Resource();
                r.insertResourceAttributes(resourceseq, result);

                //Response.Write(resourceseq + filetype + ":" + f.FileName);

                return(resourceseq + filetype);
            }
            catch (Exception e1)
            {
                Response.Write("保存图片出现错误" + e1.Message);
                LogWriter.WriteExceptionLog(e1, true);
            }
            finally
            {
            }
            return(string.Empty);
        }
Esempio n. 9
0
        private string newUploadImage()
        {
            //HttpPostedFile objFile = Request.Files["Filedata"];
            HttpPostedFile objFile = this.fuImage.PostedFile;

            if (objFile != null)
            {
                string filename = objFile.FileName;
                string fileType = Path.GetExtension(filename).ToLower();
                if (fileType.IndexOf(".") == -1)
                {
                    fileType = "." + fileType;
                }
                //string resourceType = new Resource().GetResourceTypeByFileExtention(fileType);
                string resourceType = ResourceTypeFactory.getResourceType(fileType.Substring(1)).ResourceType;

                if (resourceType.Equals("image"))
                {
                    string strClientFileName = filename;
                    string strServerFileName = SaveImage();

                    if (string.IsNullOrEmpty(strServerFileName))
                    {
                        ShowMessage("发生错误");
                        return(string.Empty);
                    }

                    /** start **/
                    Resource       objResource = new Resource();
                    ResourceEntity model       = new ResourceEntity();

                    //管理员上传直接审核通过
                    if (IsSuperAdmin)
                    {
                        model.Status = (int)ResourceEntity.ResourceStatus.IsPass;
                    }
                    else
                    {
                        model.Status = (int)ResourceEntity.ResourceStatus.NewUpload;
                    }

                    if (this.txtTitle.Text.Trim().Length > 0)
                    {
                        model.Caption = this.txtTitle.Text.Trim();
                    }
                    else
                    {
                        model.Caption = Path.GetFileNameWithoutExtension(strClientFileName);
                    }

                    model.Description = this.txtRemark.Text.Trim();
                    model.EndDate     = DateTime.Now.AddYears(10);
                    model.FileName    = strClientFileName;
                    model.FolderName  = CurrentUser.UserLoginName;

                    model.ServerFileName = strServerFileName;

                    model.GroupId       = CurrentUser.UserGroupId;
                    model.ItemId        = Guid.NewGuid();
                    model.ItemSerialNum = Path.GetFileNameWithoutExtension(strServerFileName);
                    //model.Keyword = this.keyWord.Value;
                    model.Keyword = this.txtTitle.Text.Trim();
                    //model.shotDate = Convert.ToDateTime(this.shotDate1.Text);
                    model.StartDate  = Convert.ToDateTime("1900-01-01");
                    model.uploadDate = DateTime.Now;
                    model.userId     = CurrentUser.UserId;
                    model.updateDate = DateTime.Now;
                    model.Author     = "";

                    //取得文件的扩展名,不包括.号
                    string fileExtName = string.Empty;
                    fileExtName = Path.GetExtension(filename);
                    if (fileExtName.IndexOf(".") > -1)
                    {
                        fileExtName = fileExtName.Substring(1);
                    }

                    model.ResourceType = ResourceTypeFactory.getResourceType(fileExtName).ResourceType;
                    model.FileSize     = Resource.GetResourceFileSize(strServerFileName, model.FolderName, fileExtName, "");
                    model.HasCopyright = 0;

                    model.shotDate = DateTime.Now;


                    objResource.Add(model);
                    //objResource.CreateRelationshipResourceAndCatalog(model.ItemId, (Guid[])catalogIds.ToArray(typeof(Guid)));


                    //return strServerFileName;
                    return(model.ItemId.ToString());
                }
            }
            return(string.Empty);
        }
Esempio n. 10
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                string ids = Request.QueryString["ids"];
                if (string.IsNullOrEmpty(ids))
                {
                    return;
                }

                ids = ids.TrimEnd(";".ToCharArray());
                string[] arrIds = ids.Split(";".ToCharArray());



                ImageType     objImageType = new ImageType();
                IResourceType rt           = null;

                string        physicalPath = string.Empty;
                List <string> zipFileList  = new List <string>();
                foreach (string id in arrIds)
                {
                    ResourceEntity re = null;
                    Resource       r  = new Resource();
                    re = r.GetResourceInfoByItemId(id);

                    //physicalPath = objImageType.GetSourcePath(re.FolderName, re.ServerFileName);

                    rt           = ResourceTypeFactory.getResourceTypeByString(re.ResourceType);
                    physicalPath = rt.GetSourcePath(re.FolderName, re.ServerFileName);

                    if (!string.IsNullOrEmpty(physicalPath))
                    {
                        zipFileList.Add(physicalPath);
                    }

                    //记录下载日志
                    Resource.Production_Hires_Down_Log(re.ItemSerialNum, Path.GetExtension(re.ServerFileName), CurrentUser.UserName, "", "", re.FolderName, false, re.ResourceType);
                }



                Response.ContentType = "application/octet-stream";
                Response.AppendHeader("content-disposition", "attachment; filename=\"Download.zip\"");
                Response.CacheControl = "Private";
                Response.Cache.SetExpires(DateTime.Now.AddMinutes(3));

                byte[] buffer = new byte[4096];

                ZipOutputStream zipOutputStream = new ZipOutputStream(Response.OutputStream);
                zipOutputStream.SetLevel(3);

                foreach (string fileName in zipFileList)
                {
                    Stream fs = File.OpenRead(fileName);        // or any suitable inputstream

                    ZipEntry entry = new ZipEntry(ZipEntry.CleanName(Path.GetFileName(fileName)));
                    entry.Size = fs.Length;
                    zipOutputStream.PutNextEntry(entry);

                    int count = fs.Read(buffer, 0, buffer.Length);
                    while (count > 0)
                    {
                        zipOutputStream.Write(buffer, 0, count);
                        count = fs.Read(buffer, 0, buffer.Length);
                        if (!Response.IsClientConnected)
                        {
                            break;
                        }
                        Response.Flush();
                    }
                    fs.Close();
                }
                zipOutputStream.Close();

                Response.Flush();
                Response.End();
            }
        }
Esempio n. 11
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                string lightboxId = Request.QueryString["id"];
                if (!string.IsNullOrEmpty(lightboxId))
                {
                    //得到该收藏夹下的图片
                    Resource obj = new Resource();
                    DataSet  ds  = obj.GetResourcesByLightBoxID(new Guid(lightboxId), int.MaxValue, 1);
                    if (ds.Tables[0].Rows.Count > 0)
                    {
                        ImageType     objImageType = new ImageType();
                        IResourceType rt           = null;

                        string        physicalPath = string.Empty;
                        List <string> zipFileList  = new List <string>();

                        foreach (DataRow dr in ds.Tables[0].Rows)
                        {
                            rt           = ResourceTypeFactory.getResourceTypeByString(dr["ResourceType"].ToString().ToLower());
                            physicalPath = rt.GetSourcePath(dr["ServerFolderName"].ToString(), dr["ServerFileName"].ToString());
                            //physicalPath = objImageType.GetSourcePath(dr["ServerFolderName"].ToString(), dr["ServerFileName"].ToString());
                            if (!string.IsNullOrEmpty(physicalPath))
                            {
                                zipFileList.Add(physicalPath);
                            }
                        }


                        Response.ContentType = "application/octet-stream";
                        Response.AppendHeader("content-disposition", "attachment; filename=\"Download.zip\"");
                        Response.CacheControl = "Private";
                        Response.Cache.SetExpires(DateTime.Now.AddMinutes(3));

                        byte[] buffer = new byte[4096];

                        ZipOutputStream zipOutputStream = new ZipOutputStream(Response.OutputStream);
                        zipOutputStream.SetLevel(3);

                        foreach (string fileName in zipFileList)
                        {
                            Stream fs = File.OpenRead(fileName);        // or any suitable inputstream

                            ZipEntry entry = new ZipEntry(ZipEntry.CleanName(Path.GetFileName(fileName)));
                            entry.Size = fs.Length;
                            zipOutputStream.PutNextEntry(entry);

                            int count = fs.Read(buffer, 0, buffer.Length);
                            while (count > 0)
                            {
                                zipOutputStream.Write(buffer, 0, count);
                                count = fs.Read(buffer, 0, buffer.Length);
                                if (!Response.IsClientConnected)
                                {
                                    break;
                                }
                                Response.Flush();
                            }
                            fs.Close();
                        }
                        zipOutputStream.Close();

                        Response.Flush();
                        Response.End();
                    }
                }
            }
        }