Exemple #1
0
    public bool Upload()
    {
        bool error = true;

        if (RadAsyncUploadControl.UploadedFiles.Count > 0)
        {
            string strVirtualPath;
            int    maxSize;
            strVirtualPath = ConstantsManager.UPLOAD_OTHER_DIR;
            maxSize        = ConstantsManager.UPLOAD_ALL_SIZE * 1024 * 1024;
            strVirtualPath = "{0}/{1}/{2}".FormatInvariantCulture(ConstantsManager.WEBSITE_VIRTUAL_ROOT_DIR, strVirtualPath, IDGenerateManager.UploadDirectoryNameGenerate());
            var uploadPath = Server.MapPath(strVirtualPath);
            if (!Directory.Exists(uploadPath))
            {
                Directory.CreateDirectory(uploadPath);
            }
            foreach (UploadedFile uploadedFile in RadAsyncUploadControl.UploadedFiles)
            {
                var file = uploadedFile;
                if (file != null)
                {
                    var extName = file.GetExtension().ToLower();
                    //var existExtName = RadAsyncUploadControl.AllowedFileExtensions.Any(ext => extName.Equals(ext, StringComparison.OrdinalIgnoreCase));
                    //if (!existExtName)
                    //{
                    //    Message = "<p>文件{0}格式错误</p>".FormatInvariantCulture(file.FileName);
                    //    error = false;
                    //}
                    if (file.ContentLength >= maxSize)
                    {
                        Message = "<p>文件{0}大小限制在{1}MB之内</p>".FormatInvariantCulture(file.FileName, maxSize / (1024 * 1024));
                        error   = false;
                    }
                }
            }
            if (error)
            {
                Files = FileName.Value.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList();
                foreach (UploadedFile uploadedFile in RadAsyncUploadControl.UploadedFiles)
                {
                    var file = uploadedFile;
                    if (file != null)
                    {
                        var extName        = file.GetExtension().ToLower();
                        var uploadFileName = "{0}_{1}{2}".FormatInvariantCulture(file.GetNameWithoutExtension(), DateTime.Now.ToString("yyMMddhhmmss"), extName);
                        var fullFileName   = Path.Combine(uploadPath, uploadFileName);
                        file.SaveAs(fullFileName, true);
                        var filename = "{0}{1}".FormatInvariantCulture(strVirtualPath, uploadFileName);
                        Files.Add(filename);
                    }
                }
                Text = string.Join(",", Files);
                //记录日志开始
                string strLogContent = MessageManager.GetMessageInfo(MessageManager.LOG_MSGID_0013, new string[] { (string)Session[ConstantsManager.SESSION_USER_LOGIN_NAME], Text });
                LogLibrary.LogWrite("A01", strLogContent, null, null, null);
                //记录日志结束
            }
        }
        return(error);
    }
    public bool Upload()
    {
        bool error = true;

        if (RadAsyncUploadControl.UploadedFiles.Count > 0)
        {
            string strVirtualPath;
            int    maxSize;
            switch (UploadFileType)
            {
            case FileUploadLibrary.UploadFileType.IMAGE_FILE_TYPE:
                strVirtualPath = ConstantsManager.UPLOAD_IMAGE_DIR;
                maxSize        = ConstantsManager.UPLOAD_IMAGE_SIZE * 1024 * 1024;
                break;

            case FileUploadLibrary.UploadFileType.MEDIA_FILE_TYPE:
                strVirtualPath = ConstantsManager.UPLOAD_VIDEO_DIR;
                maxSize        = ConstantsManager.UPLOAD_MEDIA_SIZE * 1024 * 1024;
                break;

            case FileUploadLibrary.UploadFileType.DOC_FILE_TYPE:
                strVirtualPath = ConstantsManager.UPLOAD_DOC_DIR;
                maxSize        = ConstantsManager.UPLOAD_DOC_SIZE * 1024 * 1024;
                break;

            case FileUploadLibrary.UploadFileType.ALL_FILE_TYPE:
            default:
                strVirtualPath = ConstantsManager.UPLOAD_OTHER_DIR;
                maxSize        = ConstantsManager.UPLOAD_ALL_SIZE * 1024 * 1024;
                break;
            }
            strVirtualPath = "{0}/{1}/{2}".FormatInvariantCulture(ConstantsManager.WEBSITE_VIRTUAL_ROOT_DIR, strVirtualPath, IDGenerateManager.UploadDirectoryNameGenerate());
            var uploadPath = Server.MapPath(strVirtualPath);
            if (!Directory.Exists(uploadPath))
            {
                Directory.CreateDirectory(uploadPath);
            }
            foreach (UploadedFile uploadedFile in RadAsyncUploadControl.UploadedFiles)
            {
                var file = uploadedFile;
                if (file != null)
                {
                    var extName      = file.GetExtension().ToLower();
                    var existExtName = RadAsyncUploadControl.AllowedFileExtensions.Any(ext => extName.Equals(ext, StringComparison.OrdinalIgnoreCase));
                    if (!existExtName)
                    {
                        Message = "文件{0}格式错误".FormatInvariantCulture(file.FileName);
                        error   = false;
                    }
                    if (file.ContentLength >= maxSize)
                    {
                        Message = "文件{0}大小限制在{1}MB之内".FormatInvariantCulture(file.FileName, maxSize / (1024 * 1024));
                        error   = false;
                    }
                    else
                    {
                        var uploadFileName = "{0}.{1}".FormatInvariantCulture(IDGenerateManager.UploadFileNameGenerate(), extName);
                        var fullFileName   = Path.Combine(uploadPath, uploadFileName);
                        file.SaveAs(fullFileName, true);
                        Text = "{0}{1}".FormatInvariantCulture(strVirtualPath, uploadFileName);
                        //记录日志开始
                        string[] strMessageParam = { string.Empty, string.Empty, string.Empty, string.Empty };
                        string   strLogTypeID    = "A01";
                        strMessageParam[0] = Session[ConstantsManager.SESSION_USER_LOGIN_NAME].ToString();
                        strMessageParam[1] = Text;
                        string strLogContent = MessageManager.GetMessageInfo(MessageManager.LOG_MSGID_0013, strMessageParam);
                        LogLibrary.LogWrite(strLogTypeID, strLogContent, null, null, null);
                        //记录日志结束
                    }
                }
            }
        }
        return(error);
    }