700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > java上传文件图片到服务器保存 Java上传文件图片到服务器的方法

java上传文件图片到服务器保存 Java上传文件图片到服务器的方法

时间:2023-01-30 17:43:51

相关推荐

java上传文件图片到服务器保存 Java上传文件图片到服务器的方法

这里我记录一个比较简单方便操作的java上传文件图片到服务器并且保存,具体内容如下

首先是页面html的 我这是提交一个文件和类型

我是添加一张临时图片得到微信的media_id保存数据库!

enctype="multipart/form-data" method="post">

上传图片:

οnchange="previewimage(this, 'prvid')" multiple="multiple">

预览容器

预览图片js

function previewimage(file, prvid) {

/* file:file控件

* prvid: 图片预览容器

*/

var tip = "expect jpg or png or gif!"; // 设定提示信息

var filters = {

"jpeg" : "/9j/4",

"gif" : "r0lgod",

"png" : "ivborw"

}

var prvbox = document.getelementbyid(prvid);

prvbox.innerhtml = "";

if (window.filereader) { // html5方案

for (var i = 0, f; f = file.files[i]; i++) {

var fr = new filereader();

fr.onload = function(e) {

var src = e.target.result;

if (!validateimg(src)) {

alert(tip)

} else {

showprvimg(src);

}

}

fr.readasdataurl(f);

}

} else { // 降级处理

if (!/\.jpg$|\.png$|\.gif$/i.test(file.value)) {

alert(tip);

} else {

showprvimg(file.value);

}

}

function validateimg(data) {

var pos = data.indexof(",") + 1;

for ( var e in filters) {

if (data.indexof(filters[e]) === pos) {

return e;

}

}

return null;

}

function showprvimg(src) {

var img = document.createelement("img");

img.src = src;

prvbox.appendchild(img);

}

}

之后就是后台得到

@requestmapping(params = "method=addcircle")

public string addcircle(httpservletresponse response,httpservletrequest request) throws ioexception {

request.setcharacterencoding("utf-8");

response.setcontenttype("text/html;charset=utf-8");

string path = request.getsession().getservletcontext().getrealpath(

"/backstageshoppingwebsite/images/addcircleimage");//保存的服务器地址

map map = upload

.upload(request, 1024 * 1024 * 10, path);

string file= map.get("file"); // 名称

string image = map.get("type"); // 图像

string newfile = map.get("newfile");// 地址

return null;

}

好了现在重点就是看upload 这个类了 这个类基本是封装好了的,需要 加的东西可以自己取看看然后修改,然后这个类用的是cos.jar包

package com.web.weixin.bean;

import java.io.file;

import java.io.ioexception;

import java.util.date;

import java.util.hashmap;

import java.util.map;

import javax.servlet.http.httpservletrequest;

import com.oreilly.servlet.multipart.filepart;

import com.oreilly.servlet.multipart.multipartparser;

import com.oreilly.servlet.multipart.parampart;

import com.oreilly.servlet.multipart.part;

public class upload {

public static map upload(httpservletrequest request,

int maxsize, string path) {

//以map形式保存数据 key对应保存的是获取界面上的name名称 value保存的是获取界面上的name对应的值

map map = new hashmap();

part part = null;

try {

multipartparser mrequest = new multipartparser(request, maxsize);

mrequest.setencoding("utf-8");

//遍历所有的part组

while ((part = mrequest.readnextpart()) != null) {

if (part.isfile()) { //判断是否是文件

filepart filepart = (filepart) part;//转化成文件组

string filename = filepart.getfilename();//得到文件名

if (filename != null && filename.length() > 0) {

// 取得扩展名

string fileextname = filename.substring(

filename.lastindexof(".") + 1).tolowercase();

// 只上传图片 //判断图片上传的格式是否符合 后缀名是否有效

if (fileextname.equalsignorecase("jpeg")

|| fileextname.equalsignorecase("png")||

fileextname.equalsignorecase("jpg")

|| fileextname.equalsignorecase("gif")

|| fileextname.equalsignorecase("ico")

|| fileextname.equalsignorecase("bmp")

|| fileextname.equalsignorecase("flv")

|| fileextname.equalsignorecase("mp4")

|| fileextname.equalsignorecase("mp3")) {

/*string newfilename = new date().gettime() + "."+ fileextname;

//重新改文件名 文件名+扩展名 */

string newfilename =new date().gettime() +filename;//不改图片名字

string newpath = path + "/" + newfilename; //文件处理文件上传的路径

file newfile = new file(newpath);

filepart.writeto(newfile); //将文件真正写入到对应的文件夹中

//filepart.getname() 得到 request 要接收的参数的名字

map.put(filepart.getname(), newfilename);//把文件信息保存到map中

map.put("newfile", newfile.tostring());

} else {

map.put("geshi", "geshi");

continue;

}// 说明上传的不是图片

} else {

map.put("yes","yes");

continue; // 说明没有选择上传图片

}

} else if (part.isparam()) { //判断是否是参数

parampart parampart = (parampart) part;

map.put(parampart.getname(), parampart.getstringvalue());

}

}

} catch (ioexception e) {

e.printstacktrace();

}

return map;

}

}

cos.jar包下载,

本文已被整理到了《java上传操作技巧汇总》,欢迎大家学习阅读。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持萬仟网。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。