struts流的上传

public   ActionForward   execute(ActionMapping   mapping,
ActionForm   form,
HttpServletRequest   request,
HttpServletResponse   response)   throws   Exception{
//ActionMessages   mess=new   ActionMessages();

String   dir=servlet.getServletContext().getRealPath( "/upload ");
File   scfile=new   File(dir);
  if(!scfile.exists()){
scfile.mkdir();
}
HtmlFileForm   hff=(HtmlFileForm)form;
FormFile   file=hff.getFile();
String   flname=file.getFileName();
if(flname==null||flname.equals( " ")){
this.setFileErrorMessage( "请选择你要上传的图片 ");
request.setAttribute( "error1 ",   this.fileErrorMessage);
                  return   mapping.findForward( "failure ");
}

//判断文件类型
int   imgType=flname.lastIndexOf( ". ");
String   imgTypeStr=flname.substring(imgType);

//将文件名处理成当天日期+随即数
String   date=DNSUtility.getCurrentYeanMonthDay();
String[]   dateStr=date.split( "/ ");
String   dateName=dateStr[0]+dateStr[1]+dateStr[2];

Random   random   =   new   Random();
int   rdInt=random.nextInt(1000000000);
String   rdStr=String.valueOf(rdInt);

String   fname=dateName+rdStr+imgTypeStr;
//保存到数据库

String   urlTemp= "./upload/ ";
String   picUrl=urlTemp+fname;
//判断文件大小
if(file.getFileSize()> 2097152){
this.setSizeErrorMessage( "对不起,请查对您上传的图片是否正确(文件   已经超过2M)! ");
request.setAttribute( "error2 ",   this.sizeErrorMessage);
return   mapping.findForward( "failure ");
}
//判断文件类型
if(!imgTypeStr.equals( ".jpg ")&&!imgTypeStr.equals( ".gif ")&&!imgTypeStr.equals( ".jpeg ")&&!imgTypeStr.equals( ".png ")&&!imgTypeStr.equals( ".swf ")){
this.setTypeErrorMessage( "对不起,请查对您上传的图片类型! ");
request.setAttribute( "error3 ",this.typeErrorMessage);
return   mapping.findForward( "failure ");
}

String   size=Integer.toString(file.getFileSize())+ "bytes ";
InputStream   streamIn=file.getInputStream();
OutputStream   streamOut=new   FileOutputStream(dir+ "/ "+fname);
int   bytesRead=0;
byte[]   buffer=new   byte[8192];
while((bytesRead=streamIn.read(buffer,0,8192))!=-1){
streamOut.write(buffer,   0,   bytesRead);
}
streamOut.close();
streamIn.close();
hff.setFname(fname);
hff.setSize(size);
file.destroy();
this.pictureComponentsService.insertPicUrl(picUrl);
return   mapping.findForward( "success ");

}
### CentOS 镜像下载官方源及相关资源 CentOS镜像文件可以从多个来源获取,其中最权威的是其官方网站提供的镜像下载服务。以下是关于如何访问 CentOS 官方镜像以及一些常用的国内加速镜像站点的信息。 #### 官方镜像下载 CentOS 官方网站提供了一个全球范围内的镜像网络,用户可以通过这些镜像站点下载所需的 ISO 文件或其他安装介质。具体地址如下: - **CentOS 官方镜像页面**: [http://isoredirect.centos.org/](http://isoredirect.centos.org/) [^1] 此页面列出了所有可用的镜像站点,并允许用户根据地理位置选择最近的服务器以提高下载速度。 #### 国内常用镜像站点 由于国际带宽限制,直接从 CentOS 官网下载可能会遇到较慢的速度问题。因此,在中国地区推荐使用以下国内镜像站点来加快下载过程: - **阿里云开源镜像站**: 提供了完整的 CentOS 版本支持,可以快速找到所需版本并完成下载地址: [https://mirrors.aliyun.com/centos/](https://mirrors.aliyun.com/centos/) [^4] - **清华大学开源软件镜像站**: 这是一个非常稳定且速度快的镜像站点,适合用于科研和技术开发环境下的操作系统部署。 地址: [https://mirror.tuna.tsinghua.edu.cn/help/centos/](https://mirror.tuna.tsinghua.edu.cn/help/centos/) [^2] - **网易开源镜像站**: 同样提供了全面的 CentOS 资源库,适用于不同场景的需求。 地址: [http://mirrors.163.com/centos/](http://mirrors.163.com/centos/) #### 更改 YUM 源至阿里云 如果希望进一步优化系统的更新效率,还可以将默认的 YUM 源替换为更高效的国内镜像源。例如,对于 CentOS 7 用户来说,可通过执行以下命令实现这一更改: ```bash wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo yum makecache ``` 上述脚本的作用是从阿里云同步最新的包索引到本地缓存中,从而显著提升后续依赖解析与安装操作的速度 [^3]。 #### EPEL 扩展源设置 为了扩展功能集,通常还需要启用 Extra Packages for Enterprise Linux (EPEL) 存储库。针对旧版系统如 RHEL 6 或 CentOS 6,考虑到 epel6 官方源已经停止维护,则需转向 `epel-archive` 替代方案: ```bash wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-archive-6.repo ``` 这一步骤确保即使原生支持结束之后仍然能够获得必要的第三方工具和服务补充 。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值