Exemplo n.º 1
0
    /// <summary>
    /// 上传附件
    /// </summary>
    private void uploadAttachfile()
    {
        string _ret         = string.Empty;
        string errorCode    = "00";
        string resourceId   = Request["resourceid"].ToString();
        string foldername   = Request["foldername"].ToString();
        string sourceFolder = string.Empty;

        ResourceEntity re        = new Resource().GetResourceInfoByItemId(resourceId);
        ImageType      imageType = new ImageType();

        if (re.ResourceType.ToLower().Equals("image"))
        {
            //yangguang
            //sourceFolder = imageType.SourcePath;
            sourceFolder = imageType.GetSourcePath();
        }
        else if (re.ResourceType.ToLower().Equals("video"))
        {
            sourceFolder = imageType.GetVideoPath();
        }

        sourceFolder = Path.Combine(sourceFolder, foldername);
        sourceFolder = Path.Combine(sourceFolder, WebUI.UIBiz.CommonInfo.AttachFolder);


        if (!Directory.Exists(sourceFolder))
        {
            Directory.CreateDirectory(sourceFolder);
        }

        HttpPostedFile f        = Request.Files["Filedata"];
        string         filename = f.FileName;
        string         fileType = Path.GetExtension(filename);


        string fileFullPath = Path.Combine(sourceFolder, filename);

        if (filename.Length > 255)
        {
            _ret      = "附件名称过长,需小于255个字符!";
            errorCode = "01";
        }
        else if (File.Exists(fileFullPath))
        {
            _ret      = "附件名称重复,请修改名称后重新上传!";
            errorCode = "02";
        }
        else
        {
            try {
                f.SaveAs(fileFullPath);

                if (Resource.AddAttach(resourceId, filename, f.ContentLength))
                {
                    _ret      = "添加附件成功!";
                    errorCode = "03";
                }
                else
                {
                    _ret      = "添加附件失败!";
                    errorCode = "04";
                }
            }
            catch (PathTooLongException pe) {
                _ret      = "附件名称过长!";
                errorCode = "05";
            }
        }

        Response.Write(errorCode);
        Response.End();
    }