загрузка изображения с помощью ck

Мне нужно загрузить изображение на сервер с помощью кнопки «Отправить на сервер» в редакторе ck и отобразить изображение в области редактирования ckeditor. сделал все это в ckeditor, как показано ниже,

URL-адрес: b.config.filebrowserImageBrowseLinkUrl, следующий за этим кодом в image.js, я установил hidden=false; и

CKEDITOR.editorConfig = function( config )
{
    config.filebrowserUploadUrl = '../ckeditorImage.jsp';
}

ckeditorImage.jsp is like this


try{

    String boundary="";
    String sz="";
    String fname="",sem="",sub="",mod="",empid="";
    Enumeration enum1 = request.getHeaderNames();
    while(enum1.hasMoreElements())
    {
            String header = (String)enum1.nextElement();
            String hvalue = request.getHeader(header);
            if("content-length".equalsIgnoreCase(header) )
        sz=""+hvalue;

    } 
        ServletInputStream sv=request.getInputStream();       
    int ch=0;
    String val="";  
    while((ch=sv.read())!=-1)
    {
        val+=(char)ch;      
                if(val.indexOf("Content-Type: ")>=0)
        {

            String tp="Content-Type: ";

            fname=val.substring(val.indexOf("filename=")+"filename=".length(),val.indexOf(tp));
                        fname=fname.replace('"',' ');
                        System.out.println(" =======fname============    :"+fname);           
            fname="home1.jpg";                  
            long size = fname.length();         

                        while((ch=sv.read())!='\n');
            byte[] b=new byte[Integer.parseInt(sz)];
            int cntr=0;
            while(cntr<b.length)
            {
                b[cntr]=(byte)sv.read();
                cntr++;
            }
                        String str=new String(b);
            int pos=str.indexOf(boundary)-2;
            pos=b.length;
            System.out.println(" =======fname============    :"+fname);  
                         File f=new File(config.getServletContext().getRealPath("/")+"/images/"+fname);
                         System.out.println(" creation of directory"+config.getServletContext().getRealPath("/")+"/images/"+fname);
                         System.out.println(" creation");
                       /*  if(f.isDirectory())
                         {
                             String fl[]=f.list();

                             for(int i=0;i<fl.length;i++)
                                 {
                                  File fd=new File(config.getServletContext().getRealPath("/")+"/users/"+sd+"/photos/"+fl[i]);
                                  fd.delete();
                             }
                         }*/
            if(!f.exists())
                f.mkdirs();
                         System.out.println(" creation of directory");
            java.io.FileOutputStream fout=new java.io.FileOutputStream(config.getServletContext().getRealPath("/")+"/images/"+fname);

            fout.write(b,2,pos-4);
            System.out.println(" creation of directory"+fout);
            fout.close();
        }
    }
    }
    catch(Exception e)
    {
        out.println(e);
    }

person Mr Y    schedule 14.06.2012    source источник


Ответы (1)


Этот проект также дает вам файловый браузер CKEditor.

http://sourceforge.net/projects/jckconnector/

Если вам нужна только часть загрузки, посмотрите код сервлета

person André Schild    schedule 14.06.2012