首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可以在zk(zk所见即所得编辑器)中使用CKEditor上传图片吗?

问可以在zk(zk所见即所得编辑器)中使用CKEditor上传图片吗?
EN

Stack Overflow用户
提问于 2011-08-03 21:41:12
回答 1查看 1.7K关注 0票数 1

由于使用zk upload组件上传图片,然后将图片的上下文路径插入到CKEditor中过于复杂,

在http://ckeditor.com/demo上,你可以看到CKEditor可以上传图片和闪存等等,

但是在zk,CKEditor没有这个功能,

这是不是意味着zk中的CKEditor不能上传文件?

EN

回答 1

Stack Overflow用户

发布于 2011-09-26 01:56:33

对于zk,这恐怕是不可能的。

我写了一个变通方法来做这件事。你必须在你的图形用户界面中添加一个按钮,并将这个EventListener添加到按钮中:

代码语言:javascript
复制
private class onUpload implements EventListener
{
    @Override
    public void onEvent(Event event) throws Exception
    {
        Media media = ((UploadEvent) event).getMedia();

        if (media.getContentType().contains("image"))
        {
            reader.upload(media.getStreamData(), media.getName());

            String description = edDescription.getValue();
            description += "<img alt=\"\" src=\"/" + media.getName() + "\" />";
            edDescription.setValue(description);
        }
        else
        {
            new Messagebox().show(_T("You can only upload images!"), _T("Not an image!"), Messagebox.OK, Messagebox.ERROR);
        }
    }
}

Reader是我的类,它处理文件传输,用于将数据写入docroot。在我的例子中,glassfish 3.1的docroot可以通过以下代码找到。我为ist编写了方法getDocFolder(),因为它还为每个用户添加子文件夹(如果它们不存在)。

代码语言:javascript
复制
 File file = new File("../docroot/");

这是reader的upload方法的代码:

代码语言:javascript
复制
InputStream inputStream = null;

    try
    {
        inputStream = new ByteArrayInputStream(imageStream);
        String filename = getDocFolder()+"/"+imageName;

        File file = new File(filename);
        OutputStream out=new FileOutputStream(file);
        byte buf[]=new byte[1024];
        int len;

        while((len = inputStream.read(buf)) > 0)
            out.write(buf,0,len);

        out.close();
        inputStream.close();
    } 
    catch (Exception ex)
    {
        Logger.getLogger(ImageReader.class.getName()).log(Level.SEVERE, "Error writing image", ex);
    } 
    finally
    {
        try
        {
            inputStream.close();
        } 
        catch (IOException ex) {}
    }

我希望这能帮到你

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6927377

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档