FCKeditor 편집기 이미지 업로드 기능 및 이미지 경로 문제 해결 방법 추가


현재 많은 CMS 시스템 이 보안 상의 이유 로 백 엔 드 편집기 의 업로드 기능 을 제거 하지만,이렇게 되면 실제 사용 과정 에 많은 번 거 로 움 을 초래 하 게 됩 니 다.오늘 은 ASPCMS 시스템 의 FCKeditor 편집 기 를 예 로 들 어 이미지 업로드 기능 을 추가 하 는 방법 을 설명 합 니 다.
1.사이트 배경 편집기 의 admin/editor/fcconfig.js 파일 열기
FCKConfig.ImageUpload=false 라 는 말 을 찾 으 면 false 를 true 로 바 꾸 면 됩 니 다.
FCKConfig.ImageBrowser = false ; 여기 도 false 를 true 로 바 꿨 어 요.
2.admin/editor/editor 디 렉 터 리 아래 filemanager 폴 더 가 존재 하 는 지 확인 하고 없 으 면 2.6.3 버 전 이상 의 fck 편집 기 를 다운로드 하여 안에 있 는 filemanager 폴 더 를 복사 합 니 다.물론 여 기 는 ASP 의 것 이기 때문에 다른 언어 인 PHP 같은 폴 더 는 삭제 할 수 있 습 니 다.
3.다음 에 파일 업로드 경 로 를 설정 하고 admin/editor/filemanager/connectors/asp 폴 더 의 config.asp 파일 을 열 어 다음 과 같이 설정 합 니 다.
ConfigIsEnabled=True 업로드 기능 을 시작 할 지 여부
ConfigUserFilesPath="../../../../../uploads/"파일 업로드 디 렉 터 리 는 이 폴 더 에 비해
여기 서 중점적으로 지적 해 야 할 ConfigUserFilesPath=".../../../../uploads/"여기 서 이렇게 설정 하면 마지막 으로 두 가지 문 제 를 발견 할 수 있 습 니 다.

A.ConfigUserFilesPath="../../../../../uploads/"이렇게 설정 하면 사진 을 업로드 할 수 있 지만 편집기 에 삽 입 된 그림 경로 에 문제 가 있 기 때문에 여러 번 시도 해 보 았 습 니 다.마지막 으로 ConfigUserFilesPath="/uploads/"로 바 꾸 면 됩 니 다.웹 사이트 가 하위 폴 더 에 있다 면 ConfigUserFilesPath="폴 더 이름/uploads/"를 이렇게 설정 할 수 있 습 니 다.
B.두 번 째 문제 에 대해 저 는 이상 하 게 생각 합 니 다.FCKeditor 편집기 의 그림 경로 에 두 개의 슬 래 쉬//가 나타 납 니 다.그림 도 표시 되 지만 불편 해 보 입 니 다.admin/editor/editor/filemanager/connectors/asp 폴 더 에 있 는'io.asp'파일 을 열 어 주 십시오.:
function CombinePaths( sBasePath, sFolder)
CombinePaths = RemoveFromEnd(sBasePath, "/") & "/" & RemoveFromStart( sFolder, "/")
end function
...로 바꾸다
function CombinePaths( sBasePath, sFolder)
sFolder = replace(sFolder, "", "/")
CombinePaths = RemoveFromEnd(sBasePath, "/") & "/" & RemoveFromStart( sFolder, "/")
end function
4.마지막 으로 업 로드 된 그림 의 자동 이름 변경 을 설정 합 니 다.admin/editor/editor/filemanager/connectors/asp 폴 더 에 있 는 commands.asp 파일 을 열 어 주 십시오.
파일 에 다음 문 구 를 추가 합 니 다.
dim rannum
dim dtnow
dim getnewfilename
dtnow=now()
randomize
rannum=int(90*rnd)+10
getnewfilename=year(dtnow) & right("0" & month(dtnow),2) & right("0" & day(dtnow),2) & right("0"& hour(dtnow),2) & right("0”"& minute(dtnow),2) & right("0" & second(dtnow),2) & rannum
함께
sFileName = ouploader.file("newfile")name
...로 바꾸다
sFileName = getnewfilename &"."& split(ouploader.file("newfile").name,".")(1)
이상 은 ASPCMS 사이트 시스템 에 대한 작은 개선 입 니 다.이 방면 에 필요 한 친구 들 에 게 도움 이 되 기 를 바 랍 니 다.앞으로 우 리 는 이 시스템 의 다른 문제 에 도 관심 을 가 질 것 입 니 다.
정규 표현 식 으로 FCKEditor 그림 경로 문 제 를 해결 합 니 다.
FCKEditor 로 메 일 을 보 낼 때 본문 에 있 는 그림 이 표시 되 지 않 습 니 다.기본 경 로 는 userfiles/images/*.jpg 이 므 로 다음 과 같 습 니 다.
src="/userfiles/image/_W@S2WETFST%25F%25Z21AQCI3P.JPG" />
어떻게:

asp 해법:

'    
  strsql="select txt,Filename,File_Name from bbs where unique_id="+Request.QueryString("Unique_ID")
  set rs=connection.execute(strsql)
    
  myTxt = rs("txt")
  '         img  
dim objRe
set objRe = New RegExp
'O  t 
objRe.Pattern = "(src=)('|"&CHR(34)&"| )?(.[^'| |"&CHR(34)&"]*)(\.)(jpg|gif|png|bmp|jpeg)('|"&CHR(34)&"| |>)?"
objRe.IgnoreCase = true
objRe.Multiline = true
objRe.Global = true
set matches = objRe.Execute(myTxt)
newtxt = myTxt
for each match in matches
  
  cccc = split(match.value,"/")
  if(ubound(cccc) <> 0) then
  '        
  for i=0 to ubound(cccc)
    if i = 0 then
      mystr = cccc(0)&"\\[server]\"
      
    else if i= ubound(cccc) then
      mystr = mystr&cccc(i) 
    else
  
      mystr = mystr&cccc(i)&"\"
      
    end if
  end if
    
  next
  newtxt = Replace(newtxt,match.value,mystr)
  end if
  
next
set objRE = nothing

  a = "<body background='\\[server]\2008back.gif'>"  
  Body=a& newtxt &"</body>"
.Net 해법:

using System.Text.RegularExpressions;
string  convertExp(string strTxt)
  {
    
    string strPattern = "(src=)('|" + (char)34 + "| )?(.[^'| |" + (char)34 + "]*)(\\.)(jpg|gif|png|bmp|jpeg)('|" + (char)34 + "| |>)?";
    // Compile the regular expression.
    Regex objRe=new Regex(strPattern);
    // Match the regular expression pattern against a text string.
    MatchCollection matches=objRe.Matches(strTxt);
    string mystr="";
    string strNewTxt = strTxt;
   
    foreach (Match match in matches)
    {
     
        string[] strC = match.Value.Split('/');
         //if it's the bottom jpg,break Foreach
        if (strC[strC.Length - 1].ToString() == "asdf.jpg\"")
        {
          break;
        }
        if (strC.Length != 0)
        {
          for (int i = 0; i < strC.Length; i++)
          {
            if (i == 0)
              mystr = strC[0] + "\\\\[server]\\";
            else if (i == strC.Length - 1)
              mystr = mystr + strC[i];
            else
              mystr = mystr + strC[i] + "\\";
          }
          strNewTxt = strNewTxt.Replace(match.Value, mystr);
        }
      
    }
    return strNewTxt;


  }
호출:
StringBuilder sb = getMailContent(strSubject);
lblPreview.Text = convertExp(sb.ToString());
FCKeditor 편집기 에 이미지 업로드 기능 및 이미지 경로 문제 해결 방법 을 추가 하 는 이 글 은 여기까지 소개 합 니 다.더 많은 관련 FCKeditor 이미지 업로드 내용 은 우리 의 이전 글 이나 아래 관련 글 을 검색 하 십시오.앞으로 많은 응원 바 랍 니 다!

좋은 웹페이지 즐겨찾기