这里我记录一个比较简单方便操作的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上传文件图片到服务器的方法相关推荐

  1. Pandas将dataframe保存为pickle文件并加载保存后的pickle文件查看dataframe数据实战

    Pandas将dataframe保存为pickle文件并加载保存后的pickle文件查看dataframe数据实战 目录 Pandas将dataframe保存为pickle文件并加载保存后的pickl ...

  2. python爬取网站图片链接并保存,Python爬取网站图片并保存的实现示例

    先看看结果吧,去bilibili上拿到的图片=-= 第一步,导入模块 import requests from bs4 import BeautifulSoup requests用来请求html页面, ...

  3. 百度服务器保存信息多久,百度快照在百度服务器里保存多长时间???

    2005-09-28 回答 大家都百度是很厉害的(而且刚好碰上百度最近在调整算法),不会无缘无故发飙,快照回档,一定是网站在某个方面出现了问题. 之所以会快照回档,原因是这段时间为了优化改了titie ...

  4. 2021-12-09把文件夹1中的与文件夹2里同名图片删除或者保存至另一个文件夹

    如果文件夹1(大)的里面包含了与文件夹2(小)的同名图片: # !/usr/bin/env python # encoding: utf-8import os import glob from PIL ...

  5. 文件的下载与保存,以及mp3文件的播放

    这里只是说说异步 单线程下载与文件的保存 以下载一个mp3文件并保存为例:-(void)loading {//设置文件下载地址 NSString *urlString = [NSString stri ...

  6. python批量读取图片并批量保存_Python实现批量读取图片并存入mongodb数据库的方法示例...

    本文实例讲述了Python实现批量读取图片并存入mongodb数据库的方法.分享给大家供大家参考,具体如下: 我的图片放在E:\image\中,然后使用python将图片读取然后,显示一张,存入取一张 ...

  7. android 查看文件夹大小 删除文件,Android Base64编码保存本地。查询文件夹大小以及删除...

    代码如下 package com.example.file import android.content.Context import android.content.Intent import an ...

  8. 服务器保存时提示文档未保存,Word文档保存时常遇到的问题及其解决方法

    Word文档在保存时可能遇到各种各样的问题.我们来看以下四大类的11个文档保存问题分别是什么原因引起的,以及如何解决. 以 Microsoft Word 文件格式保存文档 保存文档后,更改丢失 ·我在 ...

  9. 使用JavaScript将当前页面保存成PDF,支持图片和文字的保存

    前端开发的朋友们可能会遇到这个需求:将您负责开发的网页的全部内容,包括文字和图片,一起保存成一个PDF文件.如果采用屏幕截图的话,默认Windows操作系统的截图按钮无法完整截取超过一屏幕的屏幕内容. ...

最新文章

  1. 印度资深数字货币研究员::我为什么选择BCH?
  2. 数据结构二:排序(冒泡排序和选择排序)
  3. svn文件重进更改服务器路径,svn 设置 服务器路径
  4. Android 弹出 Toast 时取消上一个 Toast(完美方案)增加同步
  5. 关于JavaScript的数组随机排序
  6. 突然无法连接数据库了(解决了)
  7. 单源最短路径之迪杰斯特拉算法(C语言)
  8. Pycharm设置utf-8自动显示
  9. js文件中使用jstl或者其他标签
  10. SaltStack之target
  11. 数据流程图 符号说明
  12. Sybase Adaptive Server Anywhere ISQL 8.0 绿色汉化版发布
  13. 使用双向链表构建二叉树_python:26.二叉搜索树与双向链表
  14. [导入]2007年美国电影上映时间表
  15. layer checkbox
  16. linux查看ubuntu版本命令,检查Ubuntu版本号的三种方法:从终端和设置中检查及使用Neofetch...
  17. 基于微信小程序的药店管理系统毕业设计
  18. 图片处理工具类ImageHelper
  19. Unity(设置鼠标指针贴图)
  20. 小船过河问题解析(过度解析)

热门文章

  1. PyCharm 破解激活 教程
  2. jstack 线程状态
  3. 80后的大学校园流行语很雷人
  4. 重庆华宇 物流查询网址
  5. 微信小程序获取app.js中的公共数据
  6. Failed to deserialize payload. Is the byte array a result of corresponding serialization for Default
  7. 简明易懂的数据库入门教程
  8. 编辑pdf - pdfplumber的使用
  9. ApacheCN 翻译活动进度公告 2019.2.18
  10. mysql 注释符号