|
|
|
|
Uploading ....
百会秀秀的远程应用程序接口(RemoteAPI)让任意第三方应用程序使用百会功能强大的秀秀编辑器来创建/编辑文档
(ppt,pptx等).该API允许用户创建/编辑的
文档发布到创建者自己的远程服务器来进行保存(这些文档是不会保存在百会的服务器上). 使用百会秀秀编辑器进行文档编辑的图示:
 用
户如果想使用百会秀秀的远程编辑器,必须提交一个含有某些元素的表单数据.提交表单分为如下两种类型:a.提交multi-part表单.b.
提交正规表单. 接下来,说明如何使用两种表单形式,完成在线文档编辑. 1.使用multi-part表单提交 为了将本地文档加载到百会秀秀编辑
器,用户需要使用如下的字段提交一个multi-part表单到百会秀秀,参数说明如下: (1) content :
上传的文档内容. (2) filename : 含有扩展名的文档名称(支持的格式:ppt,pps). (3)
id : 在保存文档时提交的唯一ID值(建议为数字字符串). (4) format :
在远程服务器上提交保存时的文档格式(例如:ppt,pps). (5) persistence :
参数值为true 或
false,如果设置为false,在百会秀秀服务器获取的文档只能被编辑一次,当用户退出浏览器的时候,该文档的复本将会被删除. (6)
saveurl : 远程服务器保存文档的URL,这个URL是一个获取百会秀秀服务器上被更新文档内容的服务地址,并将文档保存到用户指定的位置上. 示
例表单如下:

2.使用正规表单提交
为了将远程文档加载到百会秀秀编辑
器,用户需要使用如下的字段提交一个正规表单到百会秀秀,参数说明如下: (1) url: 百会秀秀服务可以获取文档的URL. (2)
filename :
含有扩展名的文档名称(支持的格式:ppt,pps). (3) id :
在保存文档时提交的唯一ID值(建议为数字字符串). (4) format :
在远程服务器上提交保存时的文档格式(例如:ppt,pps). (5) persistence :
参数值为true 或
false,如果设置为false,在百会秀秀服务器获取的文档只能被编辑一次,当用户退出浏览器的时候,该文档的复本将会被删除. (6)
saveurl : 远程服务器保存文档的URL,这个URL是一个获取百会秀秀服务器上被更新文档内容的服务地址,并将文档保存到用户指定的位置上.
示例表单如下:
 用户要访问基于远程API的multi-part表单,用户需要提交到如下所示的URL地址:
 针对该URL的参数说明如下: (1)
apikey : 该key值是使用百会任何API服务都必须的参数,是验证用户是否可以使用百会API的钥匙. (2) output :
该参数决定输出将要被发送的格式, 如果值为editor,输出加载百会秀秀的
JavaScript代码片断(即编辑界面). 如果值为url,用户将得到一个包含URL的响应,用户可以获取该URL,调用百会秀秀演示模式打开,用户可以进行演示查看. 如果值为view,将生成JavaScript代码片断,并自动调用百会秀秀编辑器进行在线演示. 如果值为editorurl,用户将得一个包含URL的响应,用户可以获取该URL,调用百会秀秀编辑模式打开,用户可以进行编辑文档操作.  注释:默认的情况下响应的是URL,所以如果想使用百会秀秀编辑器在新窗口中打开文档,那就请
将"editor"作为output参数的值. 一旦您完成文档的编辑,百会秀秀将会转换文档到上面表单指定的格式,并发送修改的内容到指定的
saveurl地址中.如下提供Java语言的的保存示例代码,供参考: import
org.apache.struts.action.Action; import
org.apache.struts.action.ActionForm; import
org.apache.struts.action.ActionForward; import
org.apache.struts.action.ActionMapping;
public class
MySaveService extends Action { @SuppressWarnings( {
"deprecation", "unchecked", "unused" }) public ActionForward
execute(ActionMapping actionMap, ActionForm actionForm,
HttpServletRequest request, HttpServletResponse response)
throws Exception { System.out.println("save in process");
String f_path = request.getParameter("f_path");
OutputStream out = null;
response.setCharacterEncoding("UTF-8");
out =
response.getOutputStream();
DiskFileUpload upload = new
DiskFileUpload();
upload.setSizeMax(-1);
java.util.List list = upload.parseRequest(request);
java.util.Iterator items = list.iterator();
String
docName = null;
byte[] htmlStrInBytes = null;
String id = null; String format = "doc"; String
url = null; String filename = null;
while
(items.hasNext()) { FileItem item = (FileItem)
items.next();
if
(item.getFieldName().equalsIgnoreCase("content")) {
htmlStrInBytes = item.get(); // The modified content sent by
// the zohowriter service is
// saved in this variable
// htmlStrInBytes
}
if
(item.getFieldName().equalsIgnoreCase("format")) {
byte[] fmt = item.get(); format = new String(fmt);
}
if
(item.getFieldName().equalsIgnoreCase("id")) { byte[]
id1 = item.get(); id = new String(id1);
} if
(item.getFieldName().equalsIgnoreCase("filename")) {
byte[] filename1 = item.get(); filename = new
String(filename1); } }
int tmp =
filename.indexOf("."); if (tmp >= 0) {
filename = filename.substring(0, tmp) + "." + format; }
String path = request.getRealPath(f_path) + filename;// Specify the
// path
where
// the document
// is to be
// stored File f = new File(path);
FileOutputStream fos = new FileOutputStream(f); if
(f.exists()) { fos.write(htmlStrInBytes);// Writing the
content into the file } fos.close();
System.out.println("save in over");
return null;
} }
|
Document Saved Successfully
|
|
|
|
|
|
|