问题描述
请尽量详细。。谢谢
解决方案
我把以前学校老师教的给你 你试试<!-- enctype="multipart/form-data"这个是声明提交的内容将作为数据流的形式传递到服务器端这一般是文件上传的时候才用到的 当选用multipart/form-data方式后,数据是以二进制编码的方式传送,如果要获得form中元素的值,需要对编码进行解码。不过不同的语言都有上传组件,提供方法能获得正确的值。--><form name="proForm" action="dealAddProduct.jsp" method="post" enctype="multipart/form-data" onSubmit="return check()"><table border="1" width="100%" height="300" cellpadding="0" cellspacing="0" bordercolor="#CCCCFF"><tr><td colspan="2" bgcolor="#336699" height="25"><strong><font color="#FFFFFF">添加商品信息</font></strong></td></tr><tr> <td width="25%" bgcolor="#CCCCCC">商品编号(系列)</td> <td width="75%"><input name="serialNumber" type="text" value="" style="border:1px #99CCCC solid"></td></tr><tr> <td bgcolor="#CCCCCC">商品名称:</td> <td><input name="name" type="text" value="" style="border:1px #99CCCC solid"></td></tr><tr> <td bgcolor="#CCCCCC">商品商标:</td> <td><input name="brand" type="text" value="" style="border:1px #99CCCC solid"></td></tr><tr> <td bgcolor="#CCCCCC">商品型号:</td> <td><input name="model" type="text" value="" style="border:1px #99CCCC solid"></td></tr><tr> <td bgcolor="#CCCCCC">商品价格:</td> <td><input name="price" type="text" value="" style="border:1px #99CCCC solid"></td></tr><tr> <td bgcolor="#CCCCCC">商品图片:</td> <td><input name="picture" type="file" value="" style="border:1px #99CCCC solid"></td></tr><tr> <td bgcolor="#CCCCCC">商品介绍:</td> <td><input name="description" type="text" style="height: 90px" size="50" value=""></td></tr><tr><td bgcolor="#CCCCCC"> </td><td><input type="submit" value="提交"> <input type="reset" value="重置"></td></tr></table> </form><%//文件上传对象SmartUpload su = new SmartUpload();//初始化su.initialize(pageContext);//上传至内存su.upload();//获取保存目录String path = request.getRealPath("/upload");//获取解码后文件File file1 = su.getFiles().getFile(0);//获取文件名//String fileName = file1.getFileName();//日历类Calendar cal = Calendar.getInstance();//缓冲区字符串StringBuffer sb = new StringBuffer();sb.append(cal.get(Calendar.YEAR)).append(cal.get(Calendar.MONTH)).append(cal.get(Calendar.DATE)).append(cal.get(Calendar.HOUR)).append(cal.get(Calendar.MINUTE)).append(cal.get(Calendar.SECOND)).append(cal.get(Calendar.MILLISECOND));//获取文件后缀String ext = file1.getFileExt();//另起文件名String fileName = sb + "." + ext;//上传至服务器file1.saveAs(path + "\" + fileName);String url = "upload/" + fileName;//文件上传对象获取请求对象Request rq = su.getRequest();String serialNumber = rq.getParameter("serialNumber");String name = rq.getParameter("name");String brand = rq.getParameter("brand");String model = rq.getParameter("model");double price = Double.parseDouble(rq.getParameter("price"));//String picture = rq.getParameter("picture");String description = rq.getParameter("description");Product product = new Product(serialNumber, name, brand, model,price, url, description);if (new ProductDao().addProduct(product)) {response.sendRedirect("managerProduct.jsp");} else {out.print("有错");}%>
解决方案二:
需要 第三方 smartupload_ch.jar 这个jar 包
解决方案三:
http://qq1988627.iteye.com/blog/1141158