「java后台上传几张照片」java上传图片到另一台服务器

博主:adminadmin 2022-12-28 16:09:07 62

本篇文章给大家谈谈java后台上传几张照片,以及java上传图片到另一台服务器对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java 后台如何获取前台上传的几张图片

上传图片和获取代码如下:

package action;

import java.io.File;

import java.io.IOException;

import java.util.List;

import javax.servlet.Servlet;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.apache.commons.fileupload.FileItem;

import org.apache.commons.fileupload.FileUploadException;

import org.apache.commons.fileupload.disk.DiskFileItemFactory;

import org.apache.commons.fileupload.servlet.ServletFileUpload;

public class FileUploadAction extends HttpServlet implements Servlet{

public FileUploadAction()

{

}

@Override

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

this.doPost(request, response);

}

//action请求自动跳转到这里(配置文件配置)

@Override

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

DiskFileItemFactory factory = new DiskFileItemFactory();

ServletFileUpload upload = new ServletFileUpload(factory);

ListFileItem items;

try {

items = upload.parseRequest(request);//参数是HttpServletRequest对象

for (FileItem item : items){//遍历所有客户端提交的参数(包括文件域)

if(item.isFormField()){

String key=item.getFieldName();

String value=item.getString();

}else{

String key = item.getFieldName();//取出文件域的键

String value = item.getName();//取出文件域的值

long fileLen = item.getSize();//取出上传文件的尺寸

String mimeType = item.getContentType();//取出上传文件的类型

File f=new File("E:\\test\\");//文件地址(上传后服务器硬盘地址)

f.mkdirs();

item.write(new File(f+"\\"+value));//保存上传的文件到服务器本地

String dizhi=f+"\\"+value;

// boolean fag= excelaction.ExcelIinput(f+"\\"+value);

response.sendRedirect("/g-ecis/excelout.do?method=ExcelIinputdizhi="+dizhi);//这里是重新向(指定业务需求,其他人可以忽略删除)

}

}

} catch (FileUploadException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

上传成功后图片是保存在Java服务器上的。

可以直接用File file=new File("图片上传保存的地址");

获取。

如果图片只是需要上传后直接永久显示或者动态显示在网页,可以通过Java代码传递图片工程地址到页面。页面能直接显示。

如果后台获取到其他网站或服务器上的图片这涉及到网络编程。具体操作目前我暂时没有用到。

用java如何一次性上传多张图片到数据库

你说的这个问题,其实是表的设计问题。

只要在t_b中,设计列为3列即可。

id

,

t_a_id

,

picture

添加多个图片,不过是sql、语句。

最简单的办法,是利用for()循环,如:

for(int

i

=

0;i图片数;i++){

//你的sql操作语句如。

//insert

图片i

into

t_b..

}

分给偶吧。。

^

^!

用java完成图片多张批量上传的功能,还有就是后台的应该怎么处理上传的照片。

环境准备

1. 下载并安装Tomcat(已经有很多关于Tomcat安装以及使用的文章,在这里不再介绍);

2. 下载File upload的jar包commons-fileupload-1.0-beta-1.jar,并将该文件拷贝到{$TOMCAT}/common/lib目录下(其中{$TOMCAT}为Tomcat的安装目录);

3. 由于Fileupload子项目同时要用到另外一个项目commons-Beanutils,所以必须下载Beanutils,并将解压后的文件commons-beanutils.jar拷贝到{$TOMCAT}/common/lib目录下。

开发文件上传页面

文件上传的界面如图1所示。为了增加效率我们设计了三个文件域,同时上传三个文件。

图1 文件上传界面

页面的HTML代码如下:

html

head

title文件上传演示/title

/head

body bgcolor=“#FFFFFF”text=“#000000” leftmargin=“0”topmargin=“40”marginwidth=“0” marginheight=“0”

center

h1文件上传演示/h1

form name=“uploadform”method=“POST” action=“save.jsp”ENCTYPE=“multipart/form-data”

table border=“1”width=“450”cellpadding=“4” cellspacing=“2”bordercolor=“#9BD7FF”

trtd width=“100%”colspan=“2”

文件1:input name=“file1”size=“40”type=“file”

/td/tr

trtd width=“100%”colspan=“2”

文件2:input name=“file2”size=“40”type=“file”

/td/tr

trtd width=“100%”colspan=“2”

文件3:input name=“file3”size=“40”type=“file”

/td/tr

/table

br/br/

table

trtd align=“center”input name=“upload” type=“submit”value=“开始上传”//td/tr

/table

/form

/center

/body

/html

代码中要特别注意的是黑体处。必须保证表单的ENCTYPE属性值为multipart/form-data,这样浏览器才能正确执行上传文件的操作。

处理上传文件信息

由于本文主要是讲述如何使用Commons-fileupload,所以为了便于修改、调试,上传文件的保存使用一个JSP文件来进行处理。我们将浏览器上传来的所有文件保存在一个指定目录下并在页面上显示所有上传文件的详细信息。保存页面处理结果见图2所示。

图2 保存页面

下面来看看save.jsp的代码:

%

/**

* 演示文件上传的处理

* @author a href=“mailto:winter.lau@163.com”Winter Lau/a

* @version $Id: save.jsp,v 1.00 2003/03/01 10:10:15

*/

%

%@ page language=“java”contentType=“text/html;charset=GBK”%

%@ page import=“java.util.*”%

%@ page import=“org.apache.commons.fileupload.*”%

html

head

title保存上传文件/title

/head

%

String msg = “”;

FileUpload fu = new FileUpload();

// 设置允许用户上传文件大小,单位:字节

fu.setSizeMax(10000000);

// maximum size that will be stored in memory?

// 设置最多只允许在内存中存储的数据,单位:字节

fu.setSizeThreshold(4096);

// 设置一旦文件大小超过getSizeThreshold()的值时数据存放在硬盘的目录

fu.setRepositoryPath(“C:\\TEMP”);

//开始读取上传信息

List fileItems = fu.parseRequest(request);

%

body bgcolor=“#FFFFFF”text=“#000000” leftmargin=“0”topmargin=“40”marginwidth=“0” marginheight=“0”

font size=“6”color=“blue”文件列表:/font

center

table cellpadding=0 cellspacing=1 border=1 width=“100%”

tr

td bgcolor=“#008080”文件名/td

td bgcolor=“#008080”大小/td

/tr

%

// 依次处理每个上传的文件

Iterator iter = fileItems.iterator();

while (iter.hasNext()) {

FileItem item = (FileItem) iter.next();

//忽略其他不是文件域的所有表单信息

if (!item.isFormField()) {

String name = item.getName();

long size = item.getSize();

if((name==null||name.equals(“”)) size==0)

continue;

%

tr

td%=item.getName()%/td

td%=item.getSize()%/td

/tr

%

//保存上传的文件到指定的目录

name = name.replace(‘:’,‘_’);

name = name.replace(‘\\’,‘_’);

item.write(“F:\\”+ name);

}

}

%

/table

br/br/

a href=“upload.html”返回上传页面/a

/center

/body

/html

在这个文件中需要注意的是FileUpload对象的一些参数值的意义,如下面代码所示的三个参数sizeMax、sizeThreshold、repositoryPath:

FileUpload fu = new FileUpload();

// 设置允许用户上传文件大小,单位:字节

fu.setSizeMax(10000000);

// maximum size that will be stored in memory?

// 设置最多只允许在内存中存储的数据,单位:字节

fu.setSizeThreshold(4096);

// 设置一旦文件大小超过getSizeThreshold()的值时数据存放在硬盘的目录

fu.setRepositoryPath(“C:\\TEMP”);

这3个参数的意义分别为:

SizeMax 用来设置上传文件大小的最大值,一旦用户上传的文件大小超过该值时将会抛出一个FileUploadException异常,提示文件太大;

SizeThreshold 设置内存中缓冲区的大小,一旦文件的大小超过该值的时候,程序会自动将其它数据存放在repositoryPath指定的目录下作为缓冲。合理设置该参数的值可以保证服务器稳定高效的运行;

RepositoryPath 指定缓冲区目录。

使用注意事项

从实际应用的结果来看该模块能够稳定高效的工作。其中参数SizeThreshold的值至关重要,设置太大会占用过多的内存,设置太小会频繁使用硬盘作为缓冲以致牺牲性能。因此,设置该值时要根据用户上传文件大小分布情况来设定。例如大部分文件大小集中在100KB左右,则可以使用100KB作为该参数的值,当然了再大就不合适了。使用commons-fileupload来处理HTTP文件上传的功能模块很小,但是值得研究的东西很多。

java 如何只通过后台把本地的图片上传的服务器上去

import java.io.*;

public class CopyIMG{

    public static void main(String[] args)throws Exception{

        File file = new File("C:\\xx.jpg");

        if(!file.exists())

            throw new RuntimeException("文件不存在..");

        FileInputStream fis = new FileInputStream(file);

        byte[] b = new byte[1024];

        int len = 0;

        FileOutputStream fos = new FileOutStream("要保存的服务器路径");

        while((len=is.read(b))!=-1){

            fos.write(b,0,len);

        }

        fos.close();

        fis.close();

    }

}

java后台上传几张照片的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java上传图片到另一台服务器、java后台上传几张照片的信息别忘了在本站进行查找喔。

The End

发布于:2022-12-28,除非注明,否则均为首码项目网原创文章,转载请注明出处。