“重命名”FileItem

时间:2012-09-17 22:20:17

标签: java immutability fileitem

从商业角度来看,这就是问题

我们有一些人们使用的共享文件夹,我们称之为//shared/the/drive。但是,我们的服务器可能会将此共享驱动器视为其他名称,可能是//ir83pn3br8mwhonamesthesethingsanyway/the/drive,因为网络组坚持要求令人难以置信的服务器名称。对于大多数服务器来说,使用简单名称可以正常工作,但是在这个服务器上,它只是运行不正常。因此,在我们的代码中,对于我们的问题,我们的问题很简单,就像“哦,你正在使用shared - 我们将用stupid name from networking替换它。”

好的 - 现在进入技术方面:

我有一个FileItem(Apache commons FileUpload模块)对象,可能名为//shared/the/drive/stuff/plans.doc。我需要创建一个引用FileItem的{​​{1}}。我该怎么办?

我应该在JSP中编辑请求对象吗?这听起来不错。

我应该使用反射来编辑FileItem对象吗?这听起来更糟糕。

我不是一个前端人(注意哪些标签我有投票...哈哈),真的...更多的服务器家伙...这只是落在我的盘子上。是否可以在文本框到达请求之前拦截它,将更改移动到客户端?

我不可能是第一个遇到这个问题的人。我不是在寻找代码(我会介意吗?不,我不会。)但是一个通用的方法既可以工作,又可以处理这种事情(改变用户输入的内容)最好的做法'非常欢迎。

1 个答案:

答案 0 :(得分:0)

处理分布式文件系统以获得用户看到和处理的“假路径”以及表示允许您在收到请求的上下文中操作文件的实际节点的后端路径时,这种情况并不少见。

您在网络上点击的每个网页都不会被您在浏览器中输入的物理网址所代表。在CMS系统中,CDN上的文件是动态创建的,不管是什么。

Theres无需破解任何物体。你只需用另一个包含其瞬态属性的对象来包装它们,例如我将要访问该文件的时间。