2012-09-17 23 views
2

从业务何卫青,这里的问题“重命名”的FileItem

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

好了 - 现在的东西更多的技术方面。

我有一个FileItem(Apache的百科全书文件上传模块),可能有一个名字//shared/the/drive/stuff/plans.doc对象。我需要创建一个FileItem引用//stupidname/the/drive/stuff/plans.doc,我应该怎么办?

我应该修改JSP中的请求对象?那听起来不太好主意。

我应该使用反射来编辑FileItem对象吗?这听起来像是一个更糟的想法。

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

我不可能是第一个遇到这个问题的人。我不是一直在寻找代码(我会介意吗?不,我不会这么做),而是一种通用的方法来处理什么会起作用,和/或这种事情(改变用户输入的内容)在'最好的实践'的方式是最受欢迎的。

+1

无论结果如何,听起来像这个问题值得dailywtf。 –

+1

我不太确定。我曾经参与过的每个雇主和客户网站都有一些无聊的命名服务器。这个最近的风险投资坚持把物理位置放在服务器名称中。我们的数据中心从一个城市迁移到另一个城市时,这并没有起到很好的作用,因为所有服务器都必须重新命名。与此同时,'合乎逻辑'的名字也被废除了。所以,如果你有一个名为“MyApp”的应用程序和一个专门用于它的应用程序,那么你不能仅仅调用'// MyApp'这个盒子 - 它必须是'chidcpapp12'什么的,因为它是芝加哥的第12个服务器。是的... – corsiKa

回答

0

处理分布式文件系统时,用户看到和处理的“虚假路径”以及表示实际节点的后端路径是很常见的,它允许您在接收到的请求的上下文中操作文件。

您在网页上点击的每个网页都不是由您在浏览器中输入的物理网址表示的。活在CDN上的文件,在CMS系统中,是动态创建的数据库....无论如何。

Theres无需破解任何对象。你只是用另一个包含它们的瞬态属性的对象包装它们,比如我将在这里访问该文件的位置。

+0

我看着这个,但'FileItem'有一个私人的构造函数。我无法包裹它们。 – corsiKa