javagif圖片上傳
用字元串判斷性能比正則好,
String imgExt = "jpg|jpeg|png|bmp|GIF|JPG|PNG|JPEG";
imgExt .indexOf("圖片後綴") >= 0
或者 imgExt .contains("圖片後綴")
這兩種就可以
『貳』 用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
『叄』 java上傳圖片報錯
看那提示,明顯是路徑中包含了無效的字元 或 目錄不存在
~
~
~
『肆』 怎樣為JAVA為面板添加GIF圖片
很簡單,用一個lable標簽就可以了
JLabel imag=new JLabel(new ImageIcon("images/1.gif"));
imag.setBounds(0, 0, 125, 125);
jpl_3.add(imag);
『伍』 關於JAVA的圖片處理問題
public static boolean write(RenderedImage im, String formatName, File output) throws IOException
使用支持給定格式的任意 ImageWriter 將一個圖像寫入 File。如果已經有一個 File 存在,則丟棄其內容。
參數:im - 要寫入的 RenderedImage。
formatName - 包含格式非正式名稱的 String。
output - 將在其中寫入數據的 File。
返回:如果沒有找到合適的 writer,則返回 false。
拋出: IllegalArgumentException - 如果任何參數為 null。
IOException - 如果在寫入過程中發生錯誤。
說白了,就是按指定的formatName把圖片存到file(或OutputStream)中。formatName是已注冊的、可以保存圖片的writer的非正式名稱,比如「jpeg」,「tiff」。如果想知道到底有哪些writer在你的機器上被注冊了,用ImageIO.getWriterFormatNames(),返回類型是String[] 。同樣的,還有讀取圖片的reader,對應的是ImageIO.getReaderFormatNames()。
最後要說的是,這個方法是保存圖片,和上傳沒有關系。你可能是要上傳圖片後再保存吧!
『陸』 java實現圖片上傳至伺服器並顯示,如何做
給你段代碼,是用來在ie上顯示圖片的(servlet):
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String id = request.getParameter("id");
File file = new File(getServletContext().getRealPath("/")+"out"+"/"+id+".gif");
response.setCharacterEncoding("gb2312");
response.setContentType("doc");
response.setHeader("Content-Disposition", "attachment; filename=" + new String(file.getName().getBytes("gb2312"),"iso8859-1"));
System.out.println(new String(file.getName().getBytes("gb2312"),"gb2312"));
OutputStream output = null;
FileInputStream fis = null;
try
{
output = response.getOutputStream();
fis = new FileInputStream(file);
byte[] b = new byte[1024];
int i = 0;
while((i = fis.read(b))!=-1)
{
output.write(b, 0, i);
}
output.write(b, 0, b.length);
output.flush();
response.flushBuffer();
}
catch(Exception e)
{
System.out.println("Error!");
e.printStackTrace();
}
finally
{
if(fis != null)
{
fis.close();
fis = null;
}
if(output != null)
{
output.close();
output = null;
}
}
}
這個程序的功能是根據傳入的文件名(id),來為瀏覽器返回圖片流,顯示在<img>標簽里
標簽的格式寫成如下:
<img src="http://localhost:8080/app/preview?id=111 "/><br/>
顯示的是111.gif這個圖片
你上面的問題:
1.我覺得你的第二個辦法是對的,我們也是這樣做的,需要的是把資料庫的記錄id號傳進servlet,然後讀取這條記錄中的路徑信息,生成流以後返回就是了
關於上傳文件的問題,我記得java中應該專門有個負責文件上傳的類,你調用就行了,上傳後存儲在指定的目錄里,以實體文件的形式存放
你可以參考這個:
http://blog.csdn.net/arielxp/archive/2004/09/28/119592.aspx
回復:
1.是的,在response中寫入流就行了
2.是發到servlet中的,我們一般都是寫成servlet,短小精悍,使用起來方便,struts應該也可以,只是我沒有試過,恩,你理解的很對
『柒』 java 圖片上傳
//1.初始化smartupload對象
SmartUpload su=new SmartUpload();
su.initialize(pageContext);
//2.定義上傳文件類型
su.setAllowedFilesList("gif,jpg,doc,txt");
//3.不允許上傳類型
su.setDeniedFilesList("jsp,asp,html,exe,bat");
//4.設置字元編碼、
su.setCharset("UTF-8");
//5.設置的單個上傳最大限制
su.setMaxFileSize(5*1024*1024);
//6.總共上傳限制
su.setTotalMaxFileSize(20*1024*1024);
//7.上傳
su.upload();
//su.getFiles().getCount() 獲取上傳數
File file=su.getFiles().getFile(0);
String filename=file.getFileName();
System.out.print(filename);
String filepath="upload\\";
filepath+=file.getFileName();
file.saveAs(filepath,SmartUpload.SAVE_VIRTUAL);
『捌』 java怎樣上傳圖片(寫個例子謝謝);
用struts2框架。。。馬上OK。。。
在響應的ACTION中,只需要定義一個File的變數即可
『玖』 java如何傳輸動態圖片(GIF圖片)
實現思路:無論是何種類型,都是轉換為流的形式進行的文件傳輸和存儲。
可以通過BufferedReader 流的形式進行流緩存,之後通過readLine方法獲取到緩存的內容。
BufferedReader bre = null;
OutputStreamWriter pw = null;//定義一個流
try {
String file = "D:/test/test.GIF";
bre = new BufferedReader(new FileReader(file));//此時獲取到的bre就是整個文件的緩存流
pw = new OutputStreamWriter(new FileOutputStream(「D:/New.GIF」),"GBK");//確認流的輸出文件和編碼格式,此過程創建了「test.GIF」實例
while ((str = bre.readLine())!= null) // 判斷最後一行不存在,為空結束循環
{
pw.write(str);//將要寫入文件的內容,可以多次write
};
bre.close();
pw.close();//關閉流
備註:文件流用完之後必須及時通過close方法關閉,否則會一直處於打開狀態,直至程序停止,增加系統負擔。
『拾』 求個java上傳圖片前預覽 控制圖片尺寸大小 控制上傳格式
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>
<script>
var maxH = 768;
var maxW = 1024;
function DrawImage(ImgD){
var preW = 300;
var preH = 400 ;
var image=new Image();
image.src=ImgD.src;
if(image.width > maxW || image.height > maxH){
alert("圖片尺寸過大,請選擇" + maxW + "*" + maxH + "的圖片!");
return;
}
if(image.width>0 && image.height>0){
flag=true;
if(image.width/image.height>= preW/preH){
if(image.width>preW){
ImgD.width=preW;
ImgD.height=(image.height*preW)/image.width;
}else{
ImgD.width=image.width;
ImgD.height=image.height;
}
ImgD.alt=image.width+"×"+image.height;
}
else{
if(image.height>preH){
ImgD.height=preH;
ImgD.width=(image.width*preH)/image.height;
}else{
ImgD.width=image.width;
ImgD.height=image.height;
}
ImgD.alt=image.width+"×"+image.height;
}
}
}
function checkFormat(filePath) {
var i = filePath.lastIndexOf('.');
var len = filePath.length;
var str = filePath.substring(len,i+1);
var extName = "JPG,GIF,PNG,JPEG,BMP";
if(extName.indexOf(str.toUpperCase()) < 0) {
alert("請選擇正確的圖片文件!");
return false;
}
return true;
}
function FileChange(Value){
if(checkFormat(Value)){
flag=false;
document.getElementById("uploadimage").width=10;
document.getElementById("uploadimage").height=10;
document.getElementById("uploadimage").alt="";
document.getElementById("uploadimage").src=Value;
}
}
</script>
<BODY>
<input type="file" size="30" name="picaddress" onChange="javascript:FileChange(this.value);">
<br><IMG id=uploadimage height=0 width=0 src="" onload="javascript:DrawImage(this);" >
</BODY>
</HTML>
