web.富文本编辑与文件上传

我们可以通过富文本编辑调节文本的格式,也可以上传图片,文件上传可以上传图片,视频

文件上传必须注意的规则:
1. 必须是post method="POST"
2. 必须是多段式表单 enctype="multipart/form-data"

一.生成富文本编辑器

<form action="" method="POST" enctype="multipart/form-data">
<p><input type="text" name="n"></p>
<!-- 定义文本域  文本域需要id -->
<p><textarea id="a" name="b"></textarea></p>
<p><input type="file" name="file"></p>
<p><button>提交</button></p>
</form>
<script>
/*根据id生成对应的富文本编辑器*/
 CKEDITOR.replace('a');
</script>

二.文件上传

通过tomcat去上传图片
用轮子 jar 文件上传的jar
我们常用的轮子commons fileUpload

1.接收到你的图片,将图片存到电脑磁盘上
DiskFileItemFactory factory = new DiskFileItemFactory();
2.创建一个新的文件上传处理程序
ServletFileUpload upload = new ServletFileUpload(factory);

3.让处理程序去解析请求中的数据
List<FileItem> items = upload.parseRequest(request);

4.遍历数据

5.必须导入两个jar包,搜索commons fileUpload可以拿到

 

// 接收到你的图片,将图片存到电脑磁盘上
    DiskFileItemFactory factory = new DiskFileItemFactory();
    // 创建一个新的文件上传处理程序
    ServletFileUpload upload = new ServletFileUpload(factory);
    // 设置整体请求大小限制
   // upload.setSizeMax(1024*5);//5mb
    // 让处理程序去解析请求中的数据
    List<FileItem> items = upload.parseRequest(request);
    //  在List中有普通的数据,文件数据
    String n="";
    String b="";
    String newname="";
    for(FileItem item:items){
    	// item有可能是文件,普通数据
    	if(item.isFormField()){
    		String name=item.getFieldName();//拿表单的name
    		String value=item.getString("utf-8");
    		//需要进行判断取值
    		if(name.equals("n")){
    			n=value;
    		}
    		if(name.equals("b")){
    			b=value;
    		}else{
    			String oldname=item.getName();//文件名字
    			//生成一个不重复的名字,-替换成空字符串
    			newname=UUID.randomUUID().toString().replace("-","");
    			//生成后缀
    			String[] old=oldname.split("\\.");
    			newname+="."+old[old.length-1];
    			//保存到本地,write写,new一个文件
    			item.write(new File("F:\\LWD\\tp\\"+newname));
    		}
    	}
    }

注:newname=UUID.randomUUID().toString().replace("-","");

生成一个不重复的名字,-替换成空字符串

一个非常值得学习的小技巧

三.映射

图片上传的本质
自己的电脑 -> 服务器的电脑
文件是保存在服务器?还是数据库呢?

用户怎么区分自己的数据呢?
1.将图片保存到硬盘中
2.将图片的路径存到数据库

我只要把文件夹映射到服务器中,用户就可以访问那张保存的图片
我把文件夹映射到服务器中,它的路径是/images
out.print("<img src='/images/"+newname+"'>");

操作:双击服务器选到当前界面,在点击右手边第二个增加,第一个是填文件夹位置,第二个是访问路径

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值