jsp上傳圖片控制項
一般來說有兩種形式
1.file上傳到伺服器,然後將地址保存到資料庫。
2.將文件改為base64格式的字元串,將字元串存到資料庫。
⑵ 圖片上傳控制,總上傳文件的大小(jsp版)
把屬於某用戶的已經上傳了的所有照片大小計算出來;加上用戶正准備上傳的圖片大小,如果超過了某個值 就不許上傳;可以用js來判斷准備上傳文件的大小
js判斷上傳文件大小第一種方法是利用IE控制項
<html>
<input type="file" name="file1" onchange="ShowSize(this.value)">
<script language="javaScript">
<!--
function ShowSize(files)
{
var fso,f;
fso=new ActiveXObject("Scripting.FileSystemObject");
f=fso.GetFile(files);
if(f.size>1024*4){
alert(f.size+" Bytes");
}
}
//-->
</script>
</html>
第二種方法是利用IE下,Image對象的屬性,如:fileCreatedDate、fileModifiedDate、fileSize、fileUpdatedDate、filters
限制:<input type="text" size="4" value="10" name="fileSizeLimit" id="fileSizeLimit"/> K
<input type="file" name="file1" id="file1" size="40" onchange="changeSrc(this)"/>
<img src="about:blank" id="fileChecker" alt="test" height="18"/>
<script type="text/javascript">
var oFileChecker = document.getElementById("fileChecker");
function changeSrc(filePicker)
{
oFileChecker.src = filePicker.value;
}
oFileChecker.onreadystatechange = function ()
{
if (oFileChecker.readyState == "complete")
{
checkSize();
}
}
function checkSize()
{
var limit = document.getElementById("fileSizeLimit").value * 1024;
if (oFileChecker.fileSize > limit)
{
alert("too large");
}
else
{
alert("ok");
}
}
</script>
⑶ jsp中怎麼上傳圖片啊
你去網上下載一個smartUpload.jar,然後把這個import到你的處理頁面或者是Servlet中,例如:<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page import="com.jspsmart.upload.*" %>
<%@page import="s2jsp.bysj.entity.Proct"%>
<%@page import="s2jsp.bysj..ProctDao"%>
<%@page import="s2jsp.bysj..impl.ProctDaoImpl"%><%
SmartUpload su=new SmartUpload();
su.initialize(pageContext);
su.upload();
int count = su.save("/image");
Request req = su.getRequest();
String serialNumber= req.getParameter("serialNumber");
String name=req.getParameter("name");
String brand=req.getParameter("brand");
String model=req.getParameter("model");
String price=req.getParameter("price");
String description=req.getParameter("description");
com.jspsmart.upload.File file = su.getFiles().getFile(0) ;
String picture=file.getFileName();
Proct proct=new Proct();
proct.setSerialNumber(serialNumber);
proct.setName(name);
proct.setBrand(brand);
proct.setModel(model);
proct.setPrice(price);
proct.setPicture(picture);
proct.setDescription(description);
ProctDao =new ProctDaoImpl();
int res=.addProct(proct);
if (res!=1)
{
out.print("<script>alert('添加失敗。');location.href='addProct.html';</script>");
return;
}
out.print("<script>alert('添加成功。');location.href='manageProct.jsp'</script>");
%>
⑷ jsp上傳圖片,最好完整代碼。100分!
upfile.jsp 文件代碼如下:
<form method="post" action="uploadimage.jsp" name="form1" enctype="multipart/form-data">
<input type="file" name="file">
<input type="submIT" name="sub" value="upload">
</form>
<form method="post" action="uploadimage.jsp" name="form1" enctype="multipart/form-data">
<input type="file" name="file">
<input type="submit" name="sub" value="upload">
</form>
<STRONG><FONT color=#ff0000>uploadimage.jsp</FONT></STRONG>
文件代碼如下:
uploadimage.jsp
文件代碼如下:view plain to clipboardprint?
<PRE class=java name="code"><%@ page language="java" pageEncoding="gb2312"%>
<%@ page import="java.io.*,java.awt.Image,java.awt.image.*,com.sun.image.codec.jpeg.*,java.sql.*,com.jspsmart.upload.*,java.util.*"%>
<%@ page import="mainClass.*" %>
<html>
<head>
<title>My JSP 'uploadimage.jsp' starting page</title>
</head>
<body>
<%
SmartUpload sma=new SmartUpload();
long file_max_size=4000000;
String filename1="",ext="",testvar="";
String url="uploadfiles/";
sma.initialize(pageContext);
try
{
sma.setAllowedFilesList("jpg,gif");
sma.upload();
}catch(Exception e){
%>
<script language="jscript">
alert("只允許上傳jpg,gif圖片")
window.location.href="upfile.jsp"
</script>
<%
}
try{
com.jspsmart.upload.File myf=sma.getFiles().getFile(0);
if(myf.isMissing()){
%>
<script language="jscript">
alert("請選擇要上傳的文件!")
window.location.href="upfile.jsp"
</script>
<%
}else{
ext=myf.getFileExt();
int file_size=myf.getSize();
String saveurl="";
if(file_size < file_max_size){
Calendar cal=Calendar.getInstance();
String filename=String.valueOf(cal.getTimeInMillis());
saveurl=request.getRealPath("/")+url;
saveurl+=filename+"."+ext;
myf.saveAs(saveurl,sma.SAVE_PHYSICAL);
myclass mc=new myclass(request.getRealPath("data/data.mdb"));
mc.executeInsert("insert into [path] values('uploadfiles/"+filename+"."+ext+"')");
out.println("圖片上傳成功!");
response.sendRedirect("showimg.jsp");
}
}
}catch(Exception e){
e.printStackTrace();
}
%>
</body>
</html>
</PRE>
本文來自: IT知道網(http://www.itwis.com) 詳細出處參考:http://www.itwis.com/html/java/jsp/20080916/2409.html
⑸ jsp圖片如何批量上傳
剛好這個我做過,可以用一個叫smartUpload的包,可以做到,不過原版的不支持中文文件名,有網友改了版本的支持了!你等會我找找發給你。。。。。找到了,順便給你我寫過的一個Demo
建議你看看源碼,圖片和文件上傳其實就是流處理,不過在傳輸過程中流里會加入協議的header,你要做的就是把header里的真正的文件流取出來,header也不是沒用你要的文件名,文件大小,文件類型的信息都在裡面也要取出來,還要注意的就是轉碼,這就是原版不支持中文的地方
⑹ 用Java Web的jsp製作圖片上傳和顯示如何實現
用jspSmartUpload組件來實現,用jsp+servlet在Servlet里實現的代碼:
PrintWriter out = response.getWriter();
int count = 0;
// 實例化上傳控制項對象
SmartUpload su = new SmartUpload();
// 初始化操作
su.initialize(config, request, response);
// 設置上傳文件最大位元組數
su.setTotalMaxFileSize(100000);
//
try {
//禁止上傳指定擴展名的文件
su.setDeniedFilesList("ext,bat,jsp");
} catch (SQLException e1) {
e1.printStackTrace();
}
try {
// 上傳文件到伺服器
su.upload();
File fileup = new File(request.getRealPath("upload"));
if(!fileup.exists()){
// 創建目錄
fileup.mkdir();
}
// 處理多個文件的上傳
for(int i = 0;i < su.getFiles().getCount();i++){
com.jspsmart.upload.File file = su.getFiles().getFile(i);
if(!file.isMissing()){ // 如果文件有效
// 保存文件到指定上傳目錄
file.saveAs("/upload/new."+file.getFileExt(), su.SAVE_VIRTUAL);
count = su.save("/upload");
}
}
} catch (SmartUploadException e) {
e.printStackTrace();
}
out.println(count +"file(s) uploaded");
如果你對這個上傳組件不了解,最好是先去查查用法。。。
⑺ 用jsp、java實現上傳圖片,保存到資料庫,從資料庫中提取,顯示到頁面 這四步 我想問第一步,怎麼上傳圖片
用jspSmartUpload組件來實現,用jsp+servlet在Servlet里實現的代碼:
PrintWriter out = response.getWriter();
int count = 0;
// 實例化上傳控制項對象
SmartUpload su = new SmartUpload();
// 初始化操作
su.initialize(config, request, response);
// 設置上傳文件最大位元組數
su.setTotalMaxFileSize(100000);
//
try {
//禁止上傳指定擴展名的文件
su.setDeniedFilesList("ext,bat,jsp");
} catch (SQLException e1) {
e1.printStackTrace();
}
try {
// 上傳文件到伺服器
su.upload();
File fileup = new File(request.getRealPath("upload"));
if(!fileup.exists()){
// 創建目錄
fileup.mkdir();
}
// 處理多個文件的上傳
for(int i = 0;i < su.getFiles().getCount();i++){
com.jspsmart.upload.File file = su.getFiles().getFile(i);
if(!file.isMissing()){ // 如果文件有效
// 保存文件到指定上傳目錄
file.saveAs("/upload/new."+file.getFileExt(), su.SAVE_VIRTUAL);
count = su.save("/upload");
}
}
} catch (SmartUploadException e) {
e.printStackTrace();
}
out.println(count +"file(s) uploaded");
如果你對這個上傳組件不了解,最好是先去查查用法。。。
如果對您有幫助,請記得採納為滿意答案,謝謝!祝您生活愉快!
vaela
⑻ JSP如何上傳圖片
如果你是純JSP寫的,可以用SmartUpload.在你的頁面form 里 <form action="doUpload.jsp" method="POST" enctype="multipart/form-data">
文件名:<input type="text" name="name"/><br>
請選擇上傳的文件:<input type="file" name="file1"/>
<input type="submit" value="上傳"/>
</form> 注意:enctype="multipart/form-data"這個一定要這樣設置,具體什麼意思我也不是很清楚.....(呵呵) 提交到執行的頁面如下: //實例化上傳組件
SmartUpload upload = new SmartUpload();
//初始化上傳組件
upload.initialize(this.getServletConfig(), request, response);
//開始上傳
upload.upload();
//獲取上傳的文件列表對象
Files f = upload.getFiles();
//獲取文件對象
File fil = f.getFile(0);
//去掉文件後綴
String ext = fil.getFileExt();
//判斷文件類型是否是jpg格式jpg,gif,bmp,png,JPG,GIF,BMP,PNG
if (!(ext.equals("jpg")) && !(ext.equals("gif")) && !(ext.equals("bmp")) && !(ext.equals("png")) && !(ext.equals("JPG")) && !(ext.equals("GIF")) && !(ext.equals("BMP")) && !(ext.equals("PNG"))) {
out.println("<script type='text/javascript'>alert('文件類型錯誤');location.replace('upLoadPhoto.jsp');</script>");
return;
}
//滿足條件進行文件的上傳uploadImages在webRoot文件夾下的一個目錄
fil.saveAs("uploadImages/" + fil.getFileName());
String filepath = "uploadImages/" + fil.getFileName(); //保存到資料庫的路徑 OK.這樣就可以了.....
⑼ Java在jsp中 如何上傳圖片 在上傳時可以取到圖片大小並修改
我有個想法。放一個圖片控制項。載入之後。獲取這個圖片控制項的寬度和高度 就是圖片的寬度很高度。 用offset來獲齲 當獲取寬度之後 隱藏這個控制項。如果需要的話顯示也行
⑽ jsp如何將圖片上傳到伺服器某個文件夾裡面,而路徑存到資料庫中!!請教!!!
用smartupload 控制項來完成 你網路下一大堆的例子,算了我幫你網路,不然你分不給我,要記的給我呀,至於保存在資料庫中,你可以用年月日時分秒這樣的格式生成一個文件存放目錄,將圖片的路徑保存到資料庫中
<%@ page language="java" contentType="text/html; charset=GB2312" pageEncoding="GB2312"%>
<%@ page language="java" import="java.io.*"%>
<%@ page language="java" import="com.jspsmart.upload.*"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB2312">
<title>文件上傳Bean</title>
</head>
<body>
<jsp:useBean id="mySmartUpload" scope="page" class="com.jspsmart.upload.SmartUpload" />
<FORM METHOD="POST" ACTION="Ex7_7.jsp" ENCTYPE="multipart/form-data">
<INPUT TYPE="FILE" NAME="FILE1" SIZE="50"><BR>
<INPUT TYPE="FILE" NAME="FILE2" SIZE="50"><BR>
<INPUT TYPE="FILE" NAME="FILE3" SIZE="50"><BR>
<INPUT TYPE="FILE" NAME="FILE4" SIZE="50"><BR>
<INPUT TYPE="SUBMIT" VALUE="Upload">
</FORM>
<%
//上傳文件計數
int count=0;
//初始化,傳入pageContext內置變數
mySmartUpload.initialize(pageContext);
//允許上傳的文件類型
mySmartUpload.setAllowedFilesList("htm,html,txt,jar,");
//或者設定拒絕上傳的文件類型
// mySmartUpload.setDeniedFilesList("exe,bat,jsp");
// 拒絕的物理路徑
// mySmartUpload.setDenyPhysicalPath(true);
// 設置文件最大為 50000 bytes
mySmartUpload.setMaxFileSize(50000);
// 允許一次最多上載文件大小不超過 200000 bytes
// mySmartUpload.setTotalMaxFileSize(200000);
try {
// 上傳操作
mySmartUpload.upload();
//以原文件名存儲在web伺服器虛擬路徑下
//返回上傳的文件數
count = mySmartUpload.save("/Upload", mySmartUpload.SAVE_VIRTUAL);
} catch (Exception e){
//輸出意外信息
out.println("<b>Wrong selection : </b>" + e.toString());
}
// 顯示文件上載數
out.println(count + " file(s) uploaded.");
%>
</body>
</html>