稍后,我使用ZK Framework在磁盘中存储了一个字节数组,我需要检索这个字节数组并创建一个文件the real file,稍后需要使用Javascript jquery plugin将其传递到图像上的图库,该图库使用下面的模式来显示图像。
<h:a href="http://upload.wikimedia.org/wikipedia/commons/thumb/4/46/Bohinjsko_jezero_2.jpg/800px-Bohinjsko_jezero_2.jpg">
<h:img src="http://upload.wikimedia.org/wikipedia/commons/thumb/4/46/Bohinjsko_jezero_2.jpg/100px-Bohinjsko_jezero_2.jpg"/>
到目前为止我解决了什么问题?
我已经使用CommonsIO创建了使用字节数组的文件。我想知道java7是否有一个从arrayofBytes创建文件的方法,这对目前来说并不重要。
如您所见,这里最重要的是插件需要源程序到我的文件映像中。
<h:img src="http://upload.wikimedia.org/wikipedia/commons/thumb/4/46/Bohinjsko_jezero_2.jpg/100px-Bohinjsko_jezero_2.jpg"/>我在temp directory中创建了一个文件,但是这个目录对于浏览器来说是无法实现的,我想是因为正在触发一个错误的图像,找不到,我的解决方案是在WEBCONTENT/image文件夹内创建file image图像文件夹,它使用静态图像工作,我的问题是。
如何以编程方式获得到我的应用程序目录的完整路径?就像这样
C:\app\eclipse\myproject\WebContent\img\temporals 在这里创建temporal file
有一种更好的方法,我在开始时只有图像的字节数组。
非常感谢..。
发布于 2013-08-15 21:32:47
我认为,在web应用程序的生命周期内,将数据写入web应用程序目录本身是错误的。更糟糕的是,尝试按路径引用这些文件。当应用程序重新部署时,这些文件将被删除,并且在servlet容器中,很少通过它们的实际路径引用文件,而是引用servlet的路径。
根据您的设置,您可能根本不需要将文件写入磁盘。最后,您的服务器需要读取该文件并将其流到客户端。
您最好的选择可能是提供一个servlet,它将字节数组返回到正确的mime类型 (例如: image/jpeg)。
这个答案也提出了类似的建议。
这个答案讨论了实现。
如果您正在使用字节数组,这在您的情况下是非常理想的。
利用ZK的另一个选择是使用字节数组和直接渲染创建一个直接渲染。
您还可以考虑从服务器提供静态内容(如果使用像Tomcat这样的servlet容器,则可能不会直接提供),或者使用像Apache这样更简单的服务器来托管映像。
在不知道你问题的背景的情况下,很难具体地推荐任何东西。
https://stackoverflow.com/questions/18257815
复制相似问题