Handler.ashx C#到Java,基于ExtJs的TinyMCE文件和图像管理器插件

Handler.ashx C#到Java,基于ExtJs的TinyMCE文件和图像管理器插件,c#,spring,extjs,tinymce,C#,Spring,Extjs,Tinymce,我使用的是Rahul Singla开发的ExtJsFileManager 下面是Php和C#示例,其中有文件处理程序。我在我的项目中使用JavaSpringSource,我对这些技术是新手。我曾尝试将C#转换为Java,但我不太清楚C#返回给客户端的是什么 这是工作代码 对于getFolders操作,它返回JSON数据,如下所示 {root:[{"text":"blog","path":"C:\workspace\.metadata\.plugins\org.eclipse.wst.serve

我使用的是Rahul Singla开发的ExtJsFileManager

下面是Php和C#示例,其中有文件处理程序。我在我的项目中使用JavaSpringSource,我对这些技术是新手。我曾尝试将C#转换为Java,但我不太清楚C#返回给客户端的是什么

这是工作代码

对于getFolders操作,它返回JSON数据,如下所示

{root:[{"text":"blog","path":"C:\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\NetaCommerceFrameworkAdmin\META-INF\static\images\blog","leaf":"false","singleClickExpand":"true"}{"text":"photos","path":"C:\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\NetaCommerceFrameworkAdmin\META-INF\static\images\photos","leaf":"false","singleClickExpand":"true"}]}
我不知道C代码返回什么,所以我不能用Java编写它。它不允许通过操作“getFolders”返回我的JSON。C#“HTTPHandler”可以返回它想要的内容,例如,它可以返回一个图像(一种常见用法),或者它可以返回二进制文件数据,让客户端下载一个文件

它们非常灵活,可以配置为“返回”任何直接写入HTTPResponse对象的内容

为了确定处理程序返回的内容,您需要查找任何与HTTPResponse相关的内容

e、 g.
context.Response.ContentType=“text/javascript”

这是在Http响应上设置内容类型头

其中的两个私有方法似乎可以生成列表,并将序列化的列表返回给客户端,看起来就像JSON数据

此处的例外情况是
uploadFiles()
方法,该方法似乎接受post请求(您可以知道,因为它试图访问请求对象以在此处检索上载的文件:

HttpPostedFile file=this.context.Request.Files[i];
这似乎是在进行一些检查后将文件保存到服务器


如果我是你,我会在Java API中寻找他们自己的serialiser选项,看看你是否可以加入其中,而不是编写自己的方法来将字符串粘在一起。

事实上,我以前为Java编写过文件上载,它可以工作。没关系。在这里,我不知道客户机代码期望json数据是什么。但是,我尝试了许多版本,并且现在我明白了:
[{-file1data-},{-file2data-}]
但现在我有另一个问题,在转换Json数据时,文件路径中的\被删除。正如你所说,使用java Json序列化程序是最好的。谢谢你,缺少的最重要的部分是类
Globals。序列化程序和它的方法
序列化
。你的C项目编译吗?它似乎从C对象生成Json。
{root:[{"text":"blog","path":"C:\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\NetaCommerceFrameworkAdmin\META-INF\static\images\blog","leaf":"false","singleClickExpand":"true"}{"text":"photos","path":"C:\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\NetaCommerceFrameworkAdmin\META-INF\static\images\photos","leaf":"false","singleClickExpand":"true"}]}
HttpPostedFile file=this.context.Request.Files[i];