文件上传及最近问题

       先讲下最近遇到的一些问题,及其文件上传/下载功能的实现。

  最近感觉进度有点慢,除了学校课程外,其他时间划分的不是很合理,又有项目,又要将博客更新,又要搞DSP,又想搞搞单片机,感觉像猴子扳包谷,就会出现板一块丢一块,到后来什么都没有。项目呢,主要是卡在网页设计上,怎么样设计出一个比较令人耳目一新的网页,怎么样才能有自己的一些风格,这是我一直思考的问题。当思路有了,但是在实现上又会遇到很多阻挠,因为有的东西在网页设计上,没有接触过,想实现一种效果确实比较困难,这个是需要面对的。加入一些特效元素,改变一种版面风格,对里面的组件进行优化,等等,都需要考虑很多因素。浏览器兼容问题,特效加载导致网页速度问题,版面控制问题。。。今天倒是解决了怎么利用css来控制背景图片,这个问题是源于自己在腾讯主页下载一些conner的时候,它里面所有需要的背景图片都在一张png文件中,里面什么都有,背景按钮图片,导航,圆角边界,等等。。。一直不知道它怎么去用,而自己的页面也正需要这样的一些效果,询问龙哥后才知道需要利用css对背景图片进行位置控制,相当于平移图片,然后再特定宽度的div中显示出需要的图片。代码利用这句话background: url(images/untitled.bmp) no-repeat 0px -14px;后面两个值是x y 的位置,可以通过改变x y的位置来控制显示图片。
  文件上传/下载,今天晚上主要需要解决的一个功能模块,实现文件上传的基本思想:
  【1】需要将指定的文件写入到项目目录下的一个文件包中或者是在tomcat/webapps包下,即将文件写入到指定路径的文件夹中。首先必须知道的是,上传的资料需挂在服务器的容器内,如果上传的资料公开,必须保证外界能够访问得到该资料的地址。
     【2】上传到服务器的资料,同时还需要在数据库中插入该数据,当然有一些字段包括user , uploadDate , description , filename ,filePath 等等。这个过程主要是提供给页面显示的时候,可以从数据库中得到关于该文件的一些信息资料。
  现在就需要一些准备工作了,首先我们需要3个文件上传的jar包,分别是commons-fileupload.jar和commons-io.jar和commons-collections.jar。实现文件上传功能的方法有很多,网上google一下到处都是,但是在不是特别考虑性能的前提下我们目的只有一个就是能够上传文件,所以黑猫白猫抓到老鼠就是好猫。
  然后再我们的上传文件页面上只需要填一个文件的html组件就OK了,<input name="file" size="20" type="file">在表单提交中我们还需要修改一下<form name="uploadform" method=" " action=" " ENCTYPE="multipart/form-data">,里面几个参数我就不多说了,主要是需要加入ENCTYPE这个参数,ENCTYPE="multipart/form-data"这句话的意思是设置表单的MIME编码,一般表单的默认编码格式是application/x-www-form-urlencoded,不能用于文件上传。只有使用了multipart/form-data,才能完整的传递文件数据。
  这些功夫做足了以后,差不多就可以实现了,上传文件的功能了,至于那个板块的代码具体怎么实现就没必要罗嗦了。文件上传失败,会出现两种情况,要么文件没有写入到磁盘中,要么文件没有插入到数据库中,如果从数据库中取得文件的路径,还需要在插入到数据库中的时候对其路径进行修改,一般会在xml文件里面对上传资源文件夹的路径进行配置,一来方便修改,因为如果将项目打成了war的包,里面的java全部编译成class文件了,不可能再去java类里面进行修改了;二来本身就是个初始化配置。
  今天就到这吧,洗澡睡觉哒!
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值