java 后台如何获取前台上传的几张图片
2个回答
展开全部
上传图片和获取代码如下:
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);
List<FileItem> 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=ExcelIinput&dizhi="+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代码传递图片工程地址到页面。页面能直接显示。
如果后台获取到其他网站或服务器上的图片这涉及到网络编程。具体操作目前我暂时没有用到。
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);
List<FileItem> 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=ExcelIinput&dizhi="+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代码传递图片工程地址到页面。页面能直接显示。
如果后台获取到其他网站或服务器上的图片这涉及到网络编程。具体操作目前我暂时没有用到。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-08-02
展开全部
请问云存储最终是要存储到哪里?
追问
阿里云的OSS。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询