问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java项目如何实现上传图片到项目外部,访问时使用相对于域名的相对路径 系统架构大致是jboss+nginx

发布网友 发布时间:2022-05-08 11:50

我来回答

3个回答

热心网友 时间:2024-01-24 06:09

我有一段上传图片的代码,并且可以根据实际,按月或按天等,生成存放图片的文件夹
首先在JSP上放一个FILE的标签这些我都不说了,你也一定明白,我直接把处理过程给你发过去
我把其中存到数据库中的内容删除了,你改一下就能用
/**
*
* 上传图片
* @param servlet
* @param request
* @param response
* @return
* @throws Exception
*/

//这里我是同步上传的,你随意
public synchronized String importPic(HttpServlet servlet, HttpServletRequest request,HttpServletResponse response) throws Exception {
SimpleDateFormat formatDate = new SimpleDateFormat("yyyyMM");
Date nowtime=new Date();
String formatnowtime=formatDate.format(nowtime);
File root = new File(request.getRealPath("/")+"uploadfile/images/"+formatnowtime+"/"); //应保证在根目录中有此目录的存在 如果没有,下面则上创建新的文件夹

if(!root.isDirectory())
{
System.out.println("创建新文件夹成功"+formatnowtime);
root.mkdir();
}
int returnflag = 0;
SmartUpload mySmartUpload =new SmartUpload();
int file_size_max=1024000;
String ext="";
String url="uploadfile/images/"+formatnowtime+"/";

// 只允许上载此类文件
try{
// 初始化
mySmartUpload.initialize(servlet.getServletConfig(),request,response);
mySmartUpload.setAllowedFilesList("jpg,gif,bmp,jpeg,png,JPG");
// 上载文件

mySmartUpload.upload();
} catch (Exception e){
response.sendRedirect()//返回页面
}

com.jspsmart.upload.File myFile = mySmartUpload.getFiles().getFile(0);
if (myFile.isMissing()){ //没有选择图片做提示!
returnflag = 3;
}else{
String myFileName=myFile.getFileName(); //取得上载的文件的文件名
ext= myFile.getFileExt(); //取得后缀名
if(ext.equals("jpg")||ext.equals("gif")||ext.equals("bmp")||ext.equals("jpeg")||ext.equals("png")||ext.equals("JPG")){ //jpeg,png不能上传!)
int file_size=myFile.getSize(); //取得文件的大小
String saveurl="";
if(file_size<file_size_max){
try{
//我上面说到,把操作数据库的代友删除了,这里就应该是判断,你的图片是不是已经存在了,存在要怎么处理,不存在要怎么处了,就是你的事了 }
//更改文件名,取得当前上传时间的毫秒数值
Calendar calendar = Calendar.getInstance();
//String filename = String.valueOf(calendar.getTimeInMillis());
String did = contractBean.getMaxSeq("MULTIMEDIA_SEQ");
String filename = did;
String flag = "0";
String path = request.getRealPath("/")+url;
String ename = myFile.getFileExt();
//.toLowerCase()转换大小写
saveurl=request.getRealPath("/")+url;
saveurl+=filename+"."+ext; //保存路径
myFile.saveAs(saveurl,mySmartUpload.SAVE_PHYSICAL);
//将图片信息插入到数据库中
// ------上传完成,开始生成缩略图-----
java.io.File file = new java.io.File(saveurl); //读入刚才上传的文件
String newurl=request.getRealPath("/")+url+filename+"_min."+ext; //新的缩略图保存地址
Image src = javax.imageio.ImageIO.read(file); //构造Image对象
float tagsize=200;
int old_w=src.getWidth(null);
int old_h=src.getHeight(null);
int new_w=0;
int new_h=0;
int tempsize;
float tempdouble;
if(old_w>old_h){
tempdouble=old_w/tagsize;
}else{
tempdouble=old_h/tagsize;
}
// new_w=Math.round(old_w/tempdouble);
// new_h=Math.round(old_h/tempdouble);//计算新图长宽
new_w=150;
new_h=110;//计算新图长宽
BufferedImage tag = new BufferedImage(new_w,new_h,BufferedImage.TYPE_INT_RGB);
tag.getGraphics().drawImage(src,0,0,new_w,new_h,null); //绘制缩小后的图
FileOutputStream newimage=new FileOutputStream(newurl); //输出到文件流
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(newimage);
encoder.encode(tag); //近JPEG编码
newimage.close();
returnflag = 1;
}else{
returnflag = 0;
System.out.println("('上传文件大小不能超过"+(file_size_max/1000)+"K');");
}
}else{
returnflag = 2;
}
}
response.sendRedirect();
return "11";
}

如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快!

vaela

热心网友 时间:2024-01-24 06:10

不好意思,技术上帮不了你,不过可以给你提供域名或空间。
J1型(1000M,送独立IP、支持JSP、PHP,FTP管理,送500M SQL数据库)
可直接到我们网站注册,建议你咨询在线客服,送独立IP,提供备案平台服务。我们已为15000多家用户提供了6年多优秀服务,更安全,更放心。联系方式请点击我的用户名——用户资料。

热心网友 时间:2024-01-24 06:10

上面这位老兄说的很清楚了,通过Java IO将你上传的文件写到服务器的硬盘中!
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
说课包括哪些方面 说课内容包括()。 如何在手机百度上删除对话记录? 结核病是什么样的疾病? 曹丕17岁得了肺痨,明知自己命不长久,还要强争王位,是不是很自私呢?_百... 古代小说常出现的病名 急求一篇"生活小窍门"(500字)的作文 至今最有什么小妙招 健康的戒烟方法 笔记本电池锁死是什么原因引起的? 中国平安的平安e生保商业长期百万医疗保险优缺点是啥啊,是个坑吗?怎么样啊到底值不值得,有必要买吗? 长期做web运维的人帮忙解决一下nginx不是java web项目的问题 nginx+java的一点配置问题 Nginx服务器如何配合Java开发项目 就业质量评价中的求职倍率是什么? 要提高就业质量和人民收入水平,具体有哪些重 判断劳动者就业质量的个人指标主要有 判断劳动者就业质量的个人指标主要有- 问一问 就业质量 这个词是什么意思 评估就业质量的有什么标准? 提高就业质量以什么为核心 什么是衡量就业质量的主要指标 请问就业质量与就业满意度的确切、标准英文表达是什么? 怎样理解就业质量和就业率,区别 就业质量是什么的直观反映 就业质量的名词解释 运行时可调用浏览器打开一个网页,网页地址在代码中的java代码怎么写? 怎么恢复成微信ID 可以更改id吗 玉米的外表用一个来形容? java 部署springweb项目到两台服务器上,防止其中一台服务器挂了,另一台服务器顶上。 母亲节收到的99朵粉色玫瑰,现在有的开始掉花瓣,有的开始从里面烂,怎么可以多保留几天呢,谢谢! 玫瑰花怎样才能坚持的时间长一点 可以改吗? 上市公司评级b和bbb区别? 中文版nes模拟器下载 搀扶的拼音是什么 搀扶怎么读 搀扶的拼音 挽扶的拼音 (chan chan) 掺扶与搀扶的区别是什么? 扶携的意思是什么 扶掖的读音是什么 excel里插入的组织结构图的图框能变大吗 Excel里面的组织结构图图框怎么插得越多就越小?字都看不到啦、怎样才可以变大? 办什么样的信用卡比较好呢? 购物用 一般办什么类型的信用卡? 申请什么样的信用卡比较好呢 办理信用卡需要什么样的条件? 被封了怎么解开