您现在的位置:计算机技术学习网 > 技术中心 > WEB编程 > JSP >

jsp中下载程序问题

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-02 06:43 点击:

我下载了jsp(SUN企业级应用的首选)smartupload类,然后编写了下载程序,如下:
<%@page contentType="text/html;charset=gb2312"%><%@page language="java" import="com.jsp(SUN企业级应用的首选)smart.upload.*"%><jsp(SUN企业级应用的首选):useBean id="mySmartUpload" scope="page" class="com.jsp(SUN企业级应用的首选)smart.upload.SmartUpload"/><%mySmartUpload.initialize(pageContext);
mySmartUpload.downloadFile("d:\111.txt";
%>
运行后,我txt文件中的内容就直接显示在了页面上,zip文件也同样,只不过是乱码,有什么办法不显示而和一般的下载一样呢?

 eclipse 回复于:2002-10-18 10:54:22
应该是SmartUpload类的问题,jsp(SUN企业级应用的首选)程序没有问题,我感觉

 huangmw 回复于:2002-10-18 11:27:17
这个类是从www.jsp(SUN企业级应用的首选)smart.com站点下载的,不会他们编的类问题吧?
你能提供一个类似这种类给我吗?谢谢了

 eclipse 回复于:2002-10-18 12:11:30
TestFileDownload.jsp(SUN企业级应用的首选)页面的例子:

<%
// 得到文件名字和路径
String filename = ”MengxianhuiDocTest.doc”;
String filepath = ”D:\”;

// 设置响应头和下载保存的文件名
response.setContentType(”APPLICATION/OCTET-STREAM”);
response.setHeader(”Content-Disposition”,
”attachment; filename=”” + filename + ”””);

// 打开指定文件的流信息
java.io.FileInputStream fileInputStream =
new java.io.FileInputStream(filepath + filename);

// 写出流信息
int i;
while ((i=fileInputStream.read()) != -1) {
out.write(i);
}
fileInputStream.close();
out.close();
%>

值得注意的是:在你要下载的文件内容里,除了文件的内容之外,不应该再附加有其它任何的字符,包括空格和回车换行符。我们有时在编写代码的时候,为了使代码清晰可读,往往会添加一些空格、制表符或者回车换行符,这样虽然看起来比较清晰,但有时可能会得不到正确的结果。比如:
<%@ page import=”java.io.*”
%> <jsp(SUN企业级应用的首选):useBean id=”MyBeanFromMengxianhui” scope=”page”
class=”com.Mengxianhui.DownloadBean” />
应该写成这样:
<%@ page import=”java.io.*”
%><jsp(SUN企业级应用的首选):useBean id=”MyBeanFromMengxianhui” scope=”page”
class=”com.Mengxianhui.DownloadBean” />

 eclipse 回复于:2002-10-18 12:13:21
请注意:APPLICATION/OCTET-STREAM是设置下载类型

要改成你实际的类型,如excel要写成:application/vnd.ms-excel


 eclipse 回复于:2002-10-18 12:17:39
如果不用jsp(SUN企业级应用的首选)smart,你就需要了解浏览器端的编码方式,在传到服务器端时你才能解码。也才可以得到上传文件的相关信息。看下面的代码。
package mshtang.fileUpload;
import java.io.*;
/**一个存放文件信息的类,包括文件的名称(String),
**字段名(String), Content-Type(String)和内容(byte[])
**还提供了一个直接将文件内容保存到一个文件的函数 void saveTo(File f)
**可以调用 类{@link ContentFactory}中的适当方法,生成该类的实例。
** @see ContentFactory
** @see ContentFactory#getFileParameter
** @see ContentFactory#getFileParameterValues
**/

public class FileHolder
{
    String

    相关新闻>>

      发表评论
      请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
      用户名: 验证码:点击我更换图片
      最新评论 更多>>

      推荐热点

      • JSP与Servlet
      • 自己动手写MiniBBS系列(基本篇)之用户登录
      • JSP取当前日期
      • JDBC 入门(一)
      • 打开一个jsp页面默认查询所有数据,调用action
      • 使用JSP标签库验证用户的输入(2)完
      • 自定义JSP标签(tag)浅议
      • WIN98/2000下的jsp服务器
      • JSP内建对象(二)
      网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
      Copyright © 2008-2015 计算机技术学习交流网. 版权所有

      豫ICP备11007008号-1