我需要使用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);
}
答案 0 :(得分:0)