- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章common-upload上传文件功能封装类分享由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
文件屬性bean 。
package com.onsafe.util.upload,
。
/** * 文件屬性bean * @author lushuifa */ public class FileBean { private String fileName;// 文件名 private String fileContentType;// 上传文件的数据类型 private long fileSize;// 文件的大小;单位byte private String extName;// 文件扩展名的大小 private String fieldName; private String filePath; private String fileNote;//文件说明 private String newFileName;//新文件名 。
public String getFileName() { return fileName; } 。
public void setFileName(String fileName) { this.fileName = fileName; } 。
public String getFileContentType() { return fileContentType; } 。
public void setFileContentType(String fileContentType) { this.fileContentType = fileContentType; } 。
public long getFileSize() { return fileSize; } 。
public void setFileSize(long fileSize) { this.fileSize = fileSize; } 。
public String getExtName() { return extName; } 。
public void setExtName(String extName) { this.extName = extName; } 。
public String getFilePath() { return filePath; } 。
public void setFilePath(String filePath) { this.filePath = filePath; } 。
public String getFieldName() { return fieldName; } 。
public void setFieldName(String fieldName) { this.fieldName = fieldName; } 。
public String getFileNote() { return fileNote; } 。
public void setFileNote(String fileNote) { this.fileNote = fileNote; } 。
public String getNewFileName() { return newFileName; } 。
public void setNewFileName(String newFileName) { this.newFileName = newFileName; } } 。
。
上传工具类 。
package com.onsafe.util.upload,
。
import java.io.File; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map,
import javax.servlet.http.HttpServletRequest,
import org.apache.commons.fileupload.FileItem; import org.apache.commons.fileupload.disk.DiskFileItemFactory; import org.apache.commons.fileupload.servlet.ServletFileUpload; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory,
import com.onsafe.util.ChineseSpelling,
/** * 上传工具类 * @author Administrator * */ public class UploadTools { protected final static Log log = LogFactory.getLog(UploadTools.class); private HttpServletRequest request = null; private String savePath = ""; private List<FileBean> fileBeanList = null; //上传表单的其它信息,除file类型的input private Map<String,String> formDatas = null; private String uploadStatus = ""; //文件单个最大大小 private long maxSize; //文件允许的格式为 private String allowExts; //文件不允许的格式为 private String unAllowExts; public void uploadFiles() { savePath = this.getSavePath(); fileBeanList = new ArrayList<FileBean>(); formDatas = new HashMap<String,String>(); DiskFileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); try { List<FileItem> items = upload.parseRequest(this.getRequest());//上传文件解析 //表单元素集合 List<FileItem> formFieldList = new ArrayList<FileItem>(); //文件元素集合 List<FileItem> fileFieldList = new ArrayList<FileItem>(); if (items.size()>0) { //将表单元素和文件元素装载到不同的集合中 for (FileItem fileItem : items) { if (fileItem.isFormField()) { formFieldList.add(fileItem); } else { fileFieldList.add(fileItem); } } /** * 分解表单元素 */ //初始化文件上传属性bean FileBean fileBean = null; for (FileItem fileItem : formFieldList) { System.out.println("表单参数名:" + fileItem.getFieldName()+ ",表单参数值:" + fileItem.getString("UTF-8")); formDatas.put(fileItem.getFieldName(), fileItem.getString("UTF-8").replace("'", "''")); if(fileItem.getFieldName().equals("companyName")){ savePath = savePath.replace("gongsi", ChineseSpelling.getSpell(fileItem.getString("UTF-8"))); } if(fileItem.getFieldName().toLowerCase().contains("colum")){ savePath = savePath.replace("lanmu", ChineseSpelling.getSpell(fileItem.getString("UTF-8"))); } if(fileItem.getFieldName().equals("articleUUID")){ savePath = savePath.replace("uuid", fileItem.getString("UTF-8")); } } log.info("保存的真实路径为:"+savePath); /** * 分解文件元素 */ for (FileItem fileItem : fileFieldList) { //先判断文件件域是否选择了文件 if (fileItem.getName() != null && !fileItem.getName().equals("")) { //文件名 String fileName = fileItem.getName(); // IE 和 FireFox 下的 getName() 得出的值不同 // IE 下得到的是文件的完整路径 if(fileName.contains("\\")) { // 截取得到完整路径后的文件名 fileName = fileName.substring(fileName.lastIndexOf("\\") + 1); } //文件大小 long fileSize = fileItem.getSize(); //检查扩展名 String extName = fileName.substring(fileName.lastIndexOf(".") + 1).toLowerCase(); //文件属性bean fileBean = new FileBean(); fileBean.setFileName(fileName); fileBean.setExtName(extName); fileBean.setFileSize(fileSize); SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd"); //文件名转拼音 String pingyingFileName = ChineseSpelling.getSpell(fileName); String newFileName = df.format(new Date()) + "_" + pingyingFileName; fileBean.setFilePath(savePath+newFileName); fileBean.setFieldName(fileItem.getFieldName()); fileBean.setNewFileName(newFileName); File f1 = new File(savePath); if (!f1.exists()) { f1.mkdirs(); } System.out.println("新文件路径:"+newFileName); File uploadedFile = new File(savePath, newFileName); fileItem.write(uploadedFile); // 获取根目录对应的真实物理路径 // 保存文件在服务器的物理磁盘中 System.out.println("上传文件的大小:" + fileItem.getSize()); System.out.println("上传文件的类型:" + fileItem.getContentType()); System.out.println("上传文件的名称:" + fileName); fileBeanList.add(fileBean); uploadStatus = "上传成功"; } else { uploadStatus = "没有选择文件!"; } } } } catch (Exception e) { e.printStackTrace(); uploadStatus = "上传文件失败!"; } } 。
public List<FileBean> getFileBeanList() { return fileBeanList; } 。
public void setFileBeanList(List<FileBean> fileBeanList) { this.fileBeanList = fileBeanList; } 。
public HttpServletRequest getRequest() { return request; } 。
public void setRequest(HttpServletRequest request) { this.request = request; } 。
public String getSavePath() { return savePath; } 。
public void setSavePath(String savePath) { this.savePath = savePath; } 。
public Map<String, String> getFormDatas() { return formDatas; } 。
public void setFormDatas(Map<String, String> formDatas) { this.formDatas = formDatas; } 。
public String getUploadStatus() { return uploadStatus; } 。
public void setUploadStatus(String uploadStatus) { this.uploadStatus = uploadStatus; } 。
public long getMaxSize() { return maxSize; } 。
public void setMaxSize(long maxSize) { this.maxSize = maxSize; } 。
public String getAllowExts() { return allowExts; } 。
public void setAllowExts(String allowExts) { this.allowExts = allowExts; } 。
public String getUnAllowExts() { return unAllowExts; } 。
public void setUnAllowExts(String unAllowExts) { this.unAllowExts = unAllowExts; } } 。
。
运用工具类 。
。
最后此篇关于common-upload上传文件功能封装类分享的文章就讲到这里了,如果你想了解更多关于common-upload上传文件功能封装类分享的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我在项目中使用ngx-uploader实现文件上传。 但是当我上传多个文件时,它将文件数组分成多个请求。 我尝试使用 ng2-file-upload 但结果相同。 最佳答案 请参阅 GitHub 上的
我想要一个类似 this 的上传者但我想要一个进度条,并在完成后通过电子邮件向我发送通知,就像 yousendit 那样。 任何开源的东西都会很酷。 最佳答案 Uploadify允许有进度条。至于电子
我正在尝试编写一个Python脚本,可以将图片和pdf上传到WordPress。我希望图像上传到文件夹‘/wp-Content/Uploads/’,将pdf文件上传到文件夹‘/wp-Content/U
开发自定义 portlet 以在 Liferay 6.2 中上传多个文件。 在以下位置的文档库 Portlet 中浏览 Liferay 源代码时找到 Liferay.Upload 组件: https:
我正在尝试使用 HTML5 制作一个带有进度表的文件 uploader 。这是我的代码: Test Progress Meter function submit
当我选择一些图像并放入 WordPress 文件 uploader 时,该组的第一张图像此时似乎已正确上传,而其他图像则卡住且未得到处理。 但是,经过一段时间的等待,我停止了该进程,重新加载了浏览器选
我今天刚刚从 Cordova (PhoneGap) 1.5 升级到 1.9,突然我的 FileTransfer 参数停止发布。我可以说出来,因为我让服务器端调试了 $_POST 参数,它们现在是空白的
我已经在运行 RHEL7 的服务器上安装了 Mediawiki v1.24.1。 我已经将它安装在/var/www/foohelp/wiki 下。但是,当我尝试上传文件时,出现以下错误: [f3eae
在 Symfony2 中上传图片时,有没有办法调整图片大小? ImagineAvalancheBundle只允许在检索图像时将图像大小调整为缩略图,这对我来说并不是真正的性能。 此外,在发布数据时检索
我在网站上使用blueimp-file-upload,并且在使用webpack来组织我的js代码。 我从NPM安装了blueimp-file-upload和jquery.ui.widget npm i
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于 Stack Overflow 来说是偏离主题的,因为
我需要获取上传的文件以将其推送到文件列表,但我无法做到这一点...我希望有人可以帮助我: UIkit.upload('.test-upload', { url: `/api/gridfs/${d
我基本上是一名 Java 开发人员,仅了解有关 Android 开发的基本信息。我开发了一个 Web 端点,它接受文件和一些其他参数。 java代码是 @RequestMapping(path = "
我正在使用 symfony.com 的食谱文章来实现图像的文件上传选项。 现在我想将其他图像加载到实体中。 默认的编辑策略是: 1.从数据库中取出 2. 注入(inject)表单 3.坚持 不知何故,
我需要处理通过(有和没有分块)上传到 Amazon S3 的每个文件的二进制数据。你知道 Fineuploader 中是否有我可以用来处理每个二进制 block /文件的函数/信号吗?: 例如: pr
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于 Stack Overflow 来说是偏离主题的,
我读到 HTML5 规范引入了在上传表单中选择多个文件的功能。目前有哪些浏览器支持这个? Adobe AIR 是否支持它? 额外的问题:是否有利用此功能的 JavaScript 库? 最佳答案 即将发
我正在评估 Fine Uploader与其他各种选项相比,特别是 JQuery File Upload . 与依赖 Bootstrap 和 JQuery UI 的 JQuery File Upload
我正在尝试通过 Swift 2/Alamofire 将文件和参数上传到 Google 云端硬盘。在下面的代码中,我更改了以下行: "https://www.googleapis.com/upload/
我正在使用 Kendo UI Upload Control 并希望在同步模式下允许多个文件,但是当同时添加多个文件时,它们被组合在同一行项目中。有没有办法在组选择时将每个单独的文件作为自己的行项目?在
我是一名优秀的程序员,十分优秀!