/**
* 文件上传接口
*
*
*
*
* @param request
* @param response
* @return
*/
@SuppressWarnings({ "rawtypes", "unused", "deprecation" })
@RequestMapping("/uploadPic")
@ResponseBody
public String uploadPicFile(HttpServletRequest request,
HttpServletResponse response) {
ResponseObject result = new ResponseObject();
String time = "";
String sign = "";
// 调试开关,等于1时不校验签名与超时
String isdebug = "";
String accountNo = "";
String picRootPath = "";
String relativePicPath="";
String fileName = "";//
// fileName=request.getParameter("fileName");
String dateStr=DateHelper.getDateTimeByyyyyMMdd(new Date());
// String fileExt = "";
byte[] fileContent = null;
String path="";
boolean isMultipart = ServletFileUpload.isMultipartContent(request);
if (isMultipart) {
// 构造一个文件上传处理对象
FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
upload.setHeaderEncoding("UTF-8");
Iterator items;
try {
// 解析表单中提交的所有文件内容
items = upload.parseRequest(request).iterator();
while (items.hasNext()) {
FileItem item = (FileItem) items.next();
if (!item.isFormField()) {
// 取出上传文件的文件名称
String name = item.getName();
if(name==null){
return JsonHelper.toJson(new ResponseObject(CodeObject.PARAMETER_ERR.getCode(), CodeObject.PARAMETER_ERR.getName(), null));
}
if(!name.matches(Constant.IS_IMG)){
return JsonHelper.toJson(new ResponseObject(CodeObject.NOT_SOPORT_IMG.getCode(), CodeObject.NOT_SOPORT_IMG.getName(), null));
}
// logger.info("filename=========" + name);
// name=name.get
// 取得上传文件以后的存储路径
/*
* fileName = name.substring(name.lastIndexOf('\\') + 1,
* name.length()); int fileNameIndex =
* fileName.lastIndexOf(".");
*
* if (fileNameIndex != -1) { fileExt =
* fileName.substring(fileNameIndex, fileName.length());
* fileName = fileName.substring(0, fileNameIndex); }
*/
fileContent = item.get();
} else {
if (item != null && item.getFieldName() != null&& item.getFieldName().equals("fileName")) {
fileName = item.getString();
}
}
// 上传文件以后的存储路径
/*
* String fileUploadFolder = ConfigHelper
* .getConfigValue("fileUploadFolder"); if (fileUploadFolder
* == null || fileUploadFolder.equals("")) {
* fileUploadFolder = request.getRealPath("/"); }
*/
// BASE64Encoder encoder = new BASE64Encoder();
// fileName = encoder.encode(fileName.getBytes());
}
picRootPath = SystemConfigHelper.getUploadFilePathConfigValue();
// String loginfo="uid=" + accountNo + ","+"fileName=" + fileName + ", time" + time;
// ResultProxy checkProxy = CheckHelper.checkParams(fileUploadParams);
// if (!CheckHelper.isSuccess(checkProxy)) {
// result = Constants.setResultCodeAndInfoObj(result,
// Constants.ERRORCODE_PARAM_ERROR,
// checkProxy.getInfo());
// return JsonHelper.toJson(result);
// }
if(fileName==null){
return JsonHelper.toJson(new ResponseObject(CodeObject.NOT_SOPORT_IMG.getCode(), CodeObject.NOT_SOPORT_IMG.getName(), null));
}
fileName = URLEncoder.encode(fileName);
// 校验上传目录是存在,如果不存在,创建目录
// relativePicPath=accountNo+"/";
String picDicPath=picRootPath+Constant.BACKSLASH+dateStr+Constant.BACKSLASH;
File uploaderDirectory = new File(picDicPath);
if (!uploaderDirectory.exists()) {
uploaderDirectory.mkdirs();
}
fileName=System.currentTimeMillis()+fileName;
// String paths = filePath + File.separator + fileName + "_" +
relativePicPath=Constant.BACKSLASH+dateStr+Constant.BACKSLASH+ fileName;//返回客户端
path =picDicPath +fileName;;
MyLoggerManager.printInfo("file upload path " + path);
System.out.println(path);
// 上传文件
File uploaderFile = new File(path);
// item.write(uploaderFile);
FileOutputStream fw = new FileOutputStream(uploaderFile);
fw.write(fileContent);
fw.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
// result = Constants.setResultCodeAndMsg(result,
// Constants.ERRORCODE_UPLOADFILE_ERROR);
return JsonHelper.toJson(result);
} catch (Exception e) {
e.printStackTrace();
// result = Constants.setResultCodeAndMsg(result,
// Constants.ERRORCODE_UPLOADFILE_ERROR);
return JsonHelper.toJson(result);
}
}
// result = Constants.setResultCodeAndMsg(result, Constants.OK);
result=new ResponseObject(CodeObject.SUCESS.getCode(),CodeObject.SUCESS.getName(), relativePicPath);
return JsonHelper.toJson(result);
}
- 浏览: 314742 次
- 性别:
- 来自: 上海
最新评论
-
NEOGX:
http://www.tuicool.com/articles ...
Json转换利器Gson之实例一-简单对象转化和带泛型的List转化 -
么可k:
可以喔
Can not find the tag library descriptor for "http://java.sun.com/j... -
tianyi_qingwu:
解决了我的一个问题,学习了,谢谢!
Ant+Flex: Java Heap Space -
ldci3gandroid:
if(month==0){ year-=1;mont ...
java获取当前日期一个月后的日期 -
djcbpl:
好像不行啊!我放进去了,还是错的啊
Can not find the tag library descriptor for "http://java.sun.com/j...
相关推荐
总的来说,Android实现注册登录头像上传等服务器端功能,需要客户端与服务器端的紧密配合。客户端负责用户界面交互、文件处理和网络请求,服务器端负责数据存储、验证逻辑和文件服务。理解这一过程中的每个环节,...
本项目名为“头像上传-裁剪-JAVA”,是基于JAVA实现的一个功能模块,主要涉及到的技术点包括文件上传、图像处理以及前端交互。以下是对这些关键知识点的详细说明: 1. **文件上传**: - 在Java Web中,文件上传...
- **权限管理**:服务器端需要设定适当的权限,限制非授权用户访问他人头像。 7. **服务器端处理**: - **存储**:服务器接收到图像后,会将其保存在数据库或文件系统中,可能涉及数据库操作和文件路径管理。 - ...
安卓端上传头像到服务器,包含拍照获取头像、本地相册获取头像,并且带有剪裁功能.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
综上所述,头像上传功能涉及到用户交互、图片处理、数据传输以及服务器处理等多个环节。开发者需要根据具体需求和平台特性,选择合适的实现策略,同时兼顾用户体验和系统性能。在实际项目中,"PictureHead"这样的...
在Android应用开发中,用户头像的上传是一个常见的需求,特别是在社交、个人资料设置等场景。本教程将详细讲解如何实现在...同时,考虑到服务器端的安全性,可能需要对上传的图片进行验证和限制,防止恶意文件上传。
在IT行业中,头像上传是常见的用户交互功能,特别是在社交网络、论坛或个人资料设置页面。这个项目"头像上传(可选择上传区域)"提供了一个完善的解决方案,它结合了图片选择、拖动操作以及滚动条功能,让用户能更...
在服务器端,ECSHOP会使用PHP的GD库或者Imagick库进行图像处理。根据接收到的裁剪参数,服务器会裁剪原始图片,生成新的头像图片,并保存到特定的目录下。同时,系统也会更新用户表中的头像链接,以便在网站各处显示...
本篇文章将深入探讨如何利用`JSP`和`Servlet`来创建一个头像上传功能。 首先,`JSP`是一种基于Java的服务器端脚本语言,它允许开发者在HTML页面中嵌入Java代码,以实现动态网页效果。在头像上传的场景中,`JSP`通常...
2. 图片处理:上传的图片会经过服务器端的PHP脚本处理,可能包括图片的缩放、裁剪等操作,确保图片大小符合网站规范,同时减轻服务器存储负担。 3. 数据存储:处理后的图片数据会被保存在服务器的特定目录下,并且...
综上所述,ASP.NET头像上传源代码涉及到文件上传控件的使用、服务器端文件处理、图片处理、数据库操作、前端展示、安全性和用户体验等多个方面。通过学习和理解这些知识点,开发者可以构建出稳定且用户体验良好的...
4. **ExifTool** (Image-ExifTool-7.67.tar.gz): ExifTool是一个强大的图片元数据处理工具,虽然在基本的eyeOS配置中不是必需的,但它可能用于处理eyeOS运行时可能遇到的图像文件,如用户的头像或上传的图片。...
此技术允许用户在浏览器端选择并处理图像,无需服务器端进行额外处理,从而提高了用户体验和效率。本文将详细介绍如何实现一个支持预览、剪裁和缩放的圆形头像上传功能,并探讨相关的核心技术和最佳实践。 首先,...
7. **服务器端处理**:服务器端需要接收上传的图片,保存到指定位置,并更新用户的头像信息。这通常涉及数据库操作,比如更新用户表中的头像URL字段。服务器端的实现取决于所使用的语言和框架,如Node.js、Django、...
- **验证文件**:在服务器端,我们需要检查文件类型(通常是图片格式,如jpg、png等)、文件大小,确保安全和存储空间的合理使用。 - **保存文件**:使用PHP的`move_uploaded_file()`函数将上传的文件移动到指定的...
- **图片处理**:可能需要集成图像处理库(如ImageMagick或GD库),以便在服务器端进行图片的裁剪、缩放等操作,以适应不同展示需求。 - **权限管理**:确保只有讲师能上传和访问自己的头像,这可能需要与身份验证...
下面将详细介绍如何实现一个类似QQ的头像上传功能。 1. **蒙层(Mask)设计**: - 蒙层是一种常用于创建弹窗效果的设计元素,它可以遮盖背景页面,将用户的注意力集中到特定的操作上。在仿QQ上传头像的场景中,蒙...
- 服务器端验证:对上传的图像进行验证,确保其符合安全标准。 6. 用户体验: - 反馈机制:在裁剪过程中,应实时显示裁剪效果,以便用户确认。 - 错误提示:提供清晰的错误信息,指导用户如何解决问题。 - 性能...
【PHP+Flash 仿微博头像上传开源代码】是一个基于PHP和Flash技术实现的头像上传功能,它模仿了微博平台的头像更换流程,让用户能够方便地上传、预览并选择自己的个人头像。这一功能的核心在于结合了服务器端的PHP...
【标题】"仿新浪头像上传程序flash"指的是一个基于PHP和Flash技术实现的用户头像上传和裁切系统,其设计灵感来源于新浪微博的头像上传功能。在互联网应用中,用户头像作为个人形象的代表,往往需要提供便捷且灵活的...