上篇文章仅仅能够用它来编辑文章,但是还不能实现文件上传。要实现文件上传也很简单,官方的文档上只说了两步:配置web.xml文件和修改一个FCKEditor的配置选项。
其实如果不需要能够上传文件,也不必把所有的JAR包引入,比较重要的JAR包就这三个:
现在接着上篇文章的做。
在WEB-INF/web.xml文件里加入:
1: <servlet>
2: <servlet-name>ConnectorServlet
3: <servlet-class>
4: net.fckeditor.connector.ConnectorServlet
5: </servlet-class>
6: <load-on-startup>1
7: </servlet>
8:
9: <servlet-mapping>
10: <servlet-name>ConnectorServlet
11: <url-pattern>
12: /fckeditor/editor/filemanager/connectors/*
13: </url-pattern>
14: </servlet-mapping>
注意,其中的 下的 的值要根据你的FCKEditor文件夹在站点根目录下存放的位置来定,如果是在站点根目录下的话,就按上面写的就OK.
官方文档中说,为了安全,默认是不开启上传文件功能的。不信现在你测试下看看,会出现下面的提示:
默认的
connector.userActionImpl=net.fckeditor.requestcycle.impl.DisabledUserAction
在src目录下(如果你用的是MyEclipse或者Eclipse的话,否则就在WEB-INF/class/下)建立一个文件,名字为:fckeditor.properties,在里面加入如下内容:
connector.userActionImpl=net.fckeditor.requestcycle.impl.EnabledUserAction
这样之后再访问,就可以正常上传文件了。。
另外,官方的文档中提供了一些设定的值,是针对Connector的,可以设定允许上传文件的扩展名等等。
Property | Default | Valid Values | Description |
---|---|---|---|
connector.resourceType.type name.path | /type name | any path | Indicates the resource type path to retrieve and store files. |
connector.resourceType.type name.extensions.denied | any extension | List with extensions which should be denied. Separate extensions with a | (pipe symbol). | |
connector.resourceType.file. extensions.allowed | 7z|aiff|asf|avi|bmp|csv|doc|fla| flv|gif|gz|gzip|jpeg|jpg|mid|mov| mp3|mp4|mpc|mpeg| mpg|ods| odt|pdf|png|ppt|pxd|qt|ram|rar| rm|rmi|rmvb|rtf|sdc|sitd|swf| sxc|sxw|tar|tgz|tif|tiff|txt|vsd| wav|wma|wmv|xls|xml|zip | any extension | List with extensions which should be allowed. Separate extensions with a | (pipe symbol). |
connector.resourceType.flash. extensions.allowed | swf|fla | any extension | See above. |
connector.resourceType.image. extensions.allowed | bmp|gif|jpeg|jpg|png | any extension | See above. |
connector.resourceType.media. extensions.allowed | aiff|asf|avi|bmp|fla|flv|gif|jpeg| jpg|mid|mov|mp3|mp4|mpc|mpg| mpeg|png|qt|ram|rm|rmi|rmvb| swf|tif|tiff|wav|wma|wmv | any extension | See above. |
connector.userFilesPath | /userfiles | any path | Indicates the URL path under which files can be retrieved from the server. Prepend the domain name if you want to have the full URL. For more details see here. |
connector.userFilesAbsolutePath | /userfiles | any path | Indicates the system path under which files can be stored on the backend. For more details see here. |
connector.forceSingleExtension | true | true, false (boolean) | Indicates whether filenames with multiple extensions are sanitized. |
connector.secureImageUploads | true | true, false (boolean) | Checks uploaded images for validity. I.e. the uploaded file is a real image and not any other renamed file type. (magic bytes check) |
connector.impl | net.fckeditor.connector. impl.ContextConnector | any fully-qualified class name of a valid Connector implementation | Provides a custom server-side connector for the File Browser. For more details see here. |
connector.userActionImpl | net.fckeditor.requestcycle. impl.DisabledUserAction | any fully-qualified class name of a valid UserAction implementation | Provides custom security functions for the File Browser Connector. For more details see here. |
connector.userPathBuilderImpl | net.fckeditor.requestcycle. impl.ContextPathBuilder | any fully-qualified class name of a valid UserPathBuilder implementation | Provides a custom function for constructing a user-dependent UserFilesPath for the File Browser Connector. For more details see here. |