JspSmartUpload上传常见问题解析_JSP教程

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐:JSP上传文件的两种实现方法(含详细代码)
以前用cos作文件上传,但是对于文件上传后的改名还需要借助其他的工具。 摘录如下: 在用Java开发企业器系统的使用,特别是涉及到与办公相关的软件开发的时候,文件的上传是客户经常要提到的要求.因此有 一套很好文件上传的解决办法也能方便大家在这一块的开发.

因为手头的项目需要 上传图片,初次才用比较流行的jspSmartUpload上传。

毕竟没有搞过,弄了一个下午,终于将碰到的问题搞定了。

第一个问题,表单设置:method="post",ENCTYPE="multipart/form-data",只能这样

第二个问题,不能通过request.getParameter()取得取得其他的表单字段值,只能通过SmartUpload.getRequest().getParameter("")取得,否则得到的值始终为null

第三,SmartUpload.getRequest().getParameter("")中如果取得中文转马方式为

String name=new String(su.getRequest().getParameter("name").getBytes(),"UTF-8");

这是我试了许多方式,唯一正确的

第四 ,取得其他表单字段的值必要在 // 新建一个SmartUpload对象
SmartUpload su = new SmartUpload();

后面完成,否则出错

相关代码入下:希望对大家有所帮组

upload.jsp

<%@ page language="java" pageEncoding="UTF-8" import="java.sql.*,com.jspsmart.upload.*"%>
<jsp:useBean id="date" scope="request" class="util.DateAndTime"/>
<jsp:useBean id="data" scope="request" class="util.DataConnection"/>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html:html locale="true">
<head>
<html:base />

<title>upload.jsp</title>

<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->

</head>

<body>

<%
// 新建一个SmartUpload对象
// 新建一个SmartUpload对象
SmartUpload su = new SmartUpload();
// 上传初始化
su.initialize(pageContext);
// 设定上传限制
// 1.限制每个上传文件的最大长度。
su.setMaxFileSize(10000);
// 2.限制总上传数据的长度。
su.setTotalMaxFileSize(10000);
// 3.设定允许上传的文件(通过扩展名限制),仅允许doc,txt文件。
su.setAllowedFilesList("gif,jpeg,jpg");
// 4.设定禁止上传的文件(通过扩展名限制),禁止上传带有exe,bat,jsp,htm,html扩展名的文件和没有扩展名的文件。
su.setDeniedFilesList("exe,bat,jsp,htm,html,asp,php,xml,xhtml");
// 上传文件
su.upload();
// 将上传文件全部保存到指定目录
su.save("/upload");
String pathname=null;
String name=new String(su.getRequest().getParameter("name").getBytes(),"UTF-8");
String link=su.getRequest().getParameter("link");
for(int i=0;i<su.getFiles().getCount();i++)
{

com.jspsmart.upload.File file = su.getFiles().getFile(i);
if(file.isMissing()){
continue;
}
pathname=file.getFileName();
}
String ptime=date.getDate2();
String sql="insert into link(path,content,type,ptime,hotlink)values('"+pathname+"','"+name+"','1','"+ptime+"','"+link+"')";
int ac=data.executeOperate(sql);
if(ac==1)
{
out.println("<script>alert('发布成功!');</script>");
out.println("<script>window.location='uplink.jsp';</script>");
}

%>

</body>
</html:html>

来源:CSDN

分享:JSP调用SQL server 2000存储过程
1.新建表: CREATE TABLE [mytest] ( [id] [int] NOT NULL , [name] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL , [phone] [varchar] (13) COLLATE Chinese_PRC_CI_AS NULL , [addr] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ) ON [PRIMARY]

来源:模板无忧//所属分类:JSP教程/更新时间:2012-06-15
相关JSP教程