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上传操作技巧汇总》,欢迎大家学习阅读。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持萬仟网。
java上传文件图片到服务器保存,Java上传文件图片到服务器的方法相关推荐
- Pandas将dataframe保存为pickle文件并加载保存后的pickle文件查看dataframe数据实战
Pandas将dataframe保存为pickle文件并加载保存后的pickle文件查看dataframe数据实战 目录 Pandas将dataframe保存为pickle文件并加载保存后的pickl ...
- python爬取网站图片链接并保存,Python爬取网站图片并保存的实现示例
先看看结果吧,去bilibili上拿到的图片=-= 第一步,导入模块 import requests from bs4 import BeautifulSoup requests用来请求html页面, ...
- 百度服务器保存信息多久,百度快照在百度服务器里保存多长时间???
2005-09-28 回答 大家都百度是很厉害的(而且刚好碰上百度最近在调整算法),不会无缘无故发飙,快照回档,一定是网站在某个方面出现了问题. 之所以会快照回档,原因是这段时间为了优化改了titie ...
- 2021-12-09把文件夹1中的与文件夹2里同名图片删除或者保存至另一个文件夹
如果文件夹1(大)的里面包含了与文件夹2(小)的同名图片: # !/usr/bin/env python # encoding: utf-8import os import glob from PIL ...
- 文件的下载与保存,以及mp3文件的播放
这里只是说说异步 单线程下载与文件的保存 以下载一个mp3文件并保存为例:-(void)loading {//设置文件下载地址 NSString *urlString = [NSString stri ...
- python批量读取图片并批量保存_Python实现批量读取图片并存入mongodb数据库的方法示例...
本文实例讲述了Python实现批量读取图片并存入mongodb数据库的方法.分享给大家供大家参考,具体如下: 我的图片放在E:\image\中,然后使用python将图片读取然后,显示一张,存入取一张 ...
- android 查看文件夹大小 删除文件,Android Base64编码保存本地。查询文件夹大小以及删除...
代码如下 package com.example.file import android.content.Context import android.content.Intent import an ...
- 服务器保存时提示文档未保存,Word文档保存时常遇到的问题及其解决方法
Word文档在保存时可能遇到各种各样的问题.我们来看以下四大类的11个文档保存问题分别是什么原因引起的,以及如何解决. 以 Microsoft Word 文件格式保存文档 保存文档后,更改丢失 ·我在 ...
- 使用JavaScript将当前页面保存成PDF,支持图片和文字的保存
前端开发的朋友们可能会遇到这个需求:将您负责开发的网页的全部内容,包括文字和图片,一起保存成一个PDF文件.如果采用屏幕截图的话,默认Windows操作系统的截图按钮无法完整截取超过一屏幕的屏幕内容. ...
最新文章
- 印度资深数字货币研究员::我为什么选择BCH?
- 数据结构二:排序(冒泡排序和选择排序)
- svn文件重进更改服务器路径,svn 设置 服务器路径
- Android 弹出 Toast 时取消上一个 Toast(完美方案)增加同步
- 关于JavaScript的数组随机排序
- 突然无法连接数据库了(解决了)
- 单源最短路径之迪杰斯特拉算法(C语言)
- Pycharm设置utf-8自动显示
- js文件中使用jstl或者其他标签
- SaltStack之target
- 数据流程图 符号说明
- Sybase Adaptive Server Anywhere ISQL 8.0 绿色汉化版发布
- 使用双向链表构建二叉树_python:26.二叉搜索树与双向链表
- [导入]2007年美国电影上映时间表
- layer checkbox
- linux查看ubuntu版本命令,检查Ubuntu版本号的三种方法:从终端和设置中检查及使用Neofetch...
- 基于微信小程序的药店管理系统毕业设计
- 图片处理工具类ImageHelper
- Unity(设置鼠标指针贴图)
- 小船过河问题解析(过度解析)