package com.derby.dms.neil;
import com.opensymphony.xwork2.ActionSupport;
import java.io.File;
import java.io.IOException;
public class UploadFileAction extends ActionSupport {
private File[] file;
private String[] fileName;
private static final float CONSTANT = 1024f;
private static final String[] TYPES = new String[]{"jpg,bmp,gif"};
private int allowSize = 1;
private static final String CONTANT_FILE_PATH = "d:/upload";
private boolean checkFileSize(int allowSize) {
if (fileName != null && fileName.length > 0) {
for (int i = 0; i < fileName.length; i++) {
Long size = new Long(Math.round(file[i].length() / CONSTANT));
if (size > allowSize) {
return false;
}
}
}
return true;
}
public boolean checkFileType(String fileName) {
boolean flat = false;
for (String type : TYPES) {
if (fileName.toLowerCase().endsWith(type)) {
flat = true;
break;
}
}
if (!flat) {
StringBuffer buf = new StringBuffer("文件类型必须为以下几种类型:");
for (String type : TYPES) {
buf.append(type);
buf.append(",");
}
addActionError(buf.toString().substring(0, buf.length() - 1));
}
return flat;
}
public boolean uploadFile(File file, String fileName) {
boolean flat = false;
String[] newFileName = fileName.split("\\.");
if (!checkFileSize(allowSize)) {
return flat;
}
File newFilePath = new File(CONTANT_FILE_PATH);
if (!newFilePath.exists()) {
newFilePath.mkdir();
}
File newFile = new File(CONTANT_FILE_PATH + System.currentTimeMillis() + newFileName[fileName.length() - 1]);
try {
org.apache.commons.io.FileUtils.copyFile(file, newFile);
} catch (IOException e) {
e.printStackTrace();
}
return flat;
}
public File[] getFile() {
return file;
}
public void setFile(File[] file) {
this.file = file;
}
public String[] getFileName() {
return fileName;
}
public void setFileName(String[] fileName) {
this.fileName = fileName;
}
/*
public static void main(String[] args) {
int i = Math.round(5/2.5f);
System.out.println(i);
}
*/
}
分享到:
相关推荐
本文实例讲述了C#实现HTTP上传文件的方法。分享给大家供大家参考。具体实现方法如下: 发送文件代码如下: 代码如下: /// /// Http上传文件 /// public static string HttpUploadFile(string url, string ...
nginx上传文件大小报错500的解决办法 采用nginx作反向代理,出现了一个诡异的问题,小文件可以提交,大文件会报500内部错误。这个是什么原因导致的呢? 查wiki可知,上传文件大小相关的有三个配置 client_body_...
Java多线程设计模式上传文件Java多线程设计模式上传文件Java多线程设计模式上传文件Java多线程设计模式上传文件Java多线程设计模式上传文件Java多线程设计模式上传文件Java多线程设计模式上传文件Java多线程设计模式...
C# Winform 上传文件多种方案 C# Winform 上传文件是指在 Windows 窗体应用程序中上传文件到服务器的操作。这里总结了多种实现上传文件的方案。 方案一:使用 WebClient 上传文件 WebClient 是 .NET Framework 中...
上传文件大全sql语句 将上传是时间作为上传文件的名字将上传是时间作为上传文件的名字
JSP上传文件(有进度条)可上传大文件 网上有很多文章都是jspsmart,由于jspsmart直接在内存中操作数据,如果上传大文件或多台计算机上传的话会出错,还有一些方法传得比较慢。 为了方便上传文件,本人写了一个传输...
uniapp实现上传文件功能,uniapp实现上传文件功能uniapp实现上传文件功能uniapp实现上传文件功能uniapp实现上传文件功能uniapp实现上传文件功能
C# WebClient 上传文件 WebClient上传文件至服务器
dubbo上传文件+oss上传文件服务
C#通过winform和http上传文件C#通过winform和http上传文件C#通过winform和http上传文件C#通过winform和http上传文件C#通过winform和http上传文件
java Swing 上传文件-------------------------------------------------------------------------------------------------------------------------------------------------------
基于openresty+nginx+lua实现文件服务器(包括获取文件及上传文件)
layui上传文件提示上传异常,实际文件已经上传成功 原因:上传回调的方法接收的参数应该是json格式的,之前返回的是String,所以一直走异常的方法 @ResponseBody @RequestMapping("/web/upload") public JSONObject ...
flash上传文件flash上传文件flash上传文件flash上传文件
批量上传文件带进度条批量上传文件带进度条批量上传文件带进度条批量上传文件带进度条
git上传文件文件类型限制,如屏蔽一些依赖文件及生成文件上传
用WinForm做的,可以上传文件到服务器。
java上传文件的两个工具jar包,缺一不可,亲测有用,为什么字数还不够。。。。
1.稍微修改可以实现自动上传文件 2.上传文件不受大小限制 3。文件上传过程中可以显示当前上传进度,当前平均上传速度、上传文件已花费时长 上传文件大小和总的文件大小百分比 4。保证文件的稳定传输
linux脚本sftp上传文件