我正试图让一个允许用户上传他们喜欢的任何文件类型的网站.我已经很好地实现了这个功能,并且文件保存在服务器上.稍后他们可以下载文件进行查看,但我无法让它工作.
我已经使用了我可以掌握的任何示例,但他们都倾向于使用文本文件作为示例.我的问题是pdf和许多其他文件类型没有正确下载.它们似乎下载得很好,但没有一个文件会成功打开.比较文件,似乎大多数文件内容是正确的,但某些部分不是.
这是我的常规代码:
def file = new File(params.fileDir)
response.setContentType("application/octet-stream")
response.setHeader("Content-disposition", "filename=${file.getName()}")
response.outputStream << file.text
return
Run Code Online (Sandbox Code Playgroud)
此代码保存在由下载链接调用的控制器内.我尝试过使用不同的contentTypes,但我不知道哪种类型可以使用 - 有一个吗?我尝试的任何东西都无法解决问题.
谢谢你的帮助.
我有一个应用程序,它已经在Java 1.5下运行了大约一年.我们刚刚更新了盒子并安装了Java 1.6.
在将应用程序部署到新服务器之后,我们发现应用程序在尝试转换某些XML时会抛出异常.我们无法理解为什么会发生这种情况,直到我们在本地部署并发生同样的情况.将SDK更改为v1.5后问题停止,应用程序运行正常.
这是方法的来源:
import java.io.StringWriter;
import javax.xml.transform.Result;
import javax.xml.transform.Source;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
public static String xmlToString(Node node) {
try {
Source source = new DOMSource(node);
StringWriter stringWriter = new StringWriter();
Result result = new StreamResult(stringWriter);
TransformerFactory factory = TransformerFactory.newInstance();
Transformer transformer = factory.newTransformer();
transformer.transform(source, result);
return stringWriter.getBuffer().toString();
} catch (TransformerConfigurationException e) {
e.printStackTrace();
} catch (TransformerException e) {
e.printStackTrace();
}
return null;
}
Run Code Online (Sandbox Code Playgroud)
它正在崩溃"transformer.transform(source,result);" 有异常的行: …
我目前正在开发一个在所有模块中广泛使用JUnit4的项目.我们使用Maven2来构建项目,使用Hudson进行持续集成.该项目是在Java 1.5下构建和运行的.
我们最近添加了大量的单元测试,这些测试有时需要,但不希望在构建过程中运行(但同一项目中的其他单元测试).
我想知道是否有某种注释可以应用于测试,或者某些可以对Maven进行的配置会忽略生成在某个包或某个测试类中的单元测试?
可能只是将这些特定测试放在一个可以通过main运行的普通类中,但这并不理想.
谢谢你的建议
在发布信息后,将返回302重定向.此重定向旨在重新加载当前页面.
这一切都很好,但IE在标题中添加了No-Cache:
Cache-Control: no-cache
Run Code Online (Sandbox Code Playgroud)
我们正在使用Squid来缓存我们的内容,并将其置于标题中绕过squid.
由于这种重定向经常被使用(没有办法解决这个问题),这大大增加了我们系统的负载.
Firefox没有这个问题,它只是请求重定向页面而不更改标题,这正是我们想要的.
有什么办法可以阻止IE添加无缓存吗?
我正在阅读日志文件,但不是所有线路都想立即处理.我在等待处理时使用队列/缓冲区存储行.
定期扫描此队列以查找特定行 - 当找到它们时,它们将从队列中删除(它们可以位于队列中的任何位置).当没有找到特定的行时,将逐行从队列的开头取出行以进行处理.
因此,队列需要以下内容:
我最初编写代码时,我没有Java或API的经验,只是使用了ArrayList,因为我知道它可以工作(不一定是因为它是最好的选择).
随着越来越多的日志需要处理,它的性能现在变得越来越差 - 那么,您建议在这种情况下使用哪种集合?总是有可能写我自己的.
谢谢
java ×3
annotations ×1
attachment ×1
buffer ×1
caching ×1
collections ×1
download ×1
grails ×1
http-headers ×1
java-5 ×1
java-6 ×1
junit ×1
maven-2 ×1
performance ×1
queue ×1
redirect ×1
spring ×1
unit-testing ×1
xml ×1