`
terry0501
  • 浏览: 314764 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

头像上传-服务器端

 
阅读更多

/**
     * 文件上传接口
     *
     *
     *
     *
     * @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);
    }

分享到:
评论

相关推荐

    Android实现注册登录头像上传等服务器端

    总的来说,Android实现注册登录头像上传等服务器端功能,需要客户端与服务器端的紧密配合。客户端负责用户界面交互、文件处理和网络请求,服务器端负责数据存储、验证逻辑和文件服务。理解这一过程中的每个环节,...

    头像上传-裁剪-JAVA

    本项目名为“头像上传-裁剪-JAVA”,是基于JAVA实现的一个功能模块,主要涉及到的技术点包括文件上传、图像处理以及前端交互。以下是对这些关键知识点的详细说明: 1. **文件上传**: - 在Java Web中,文件上传...

    上传头像到服务器

    - **权限管理**:服务器端需要设定适当的权限,限制非授权用户访问他人头像。 7. **服务器端处理**: - **存储**:服务器接收到图像后,会将其保存在数据库或文件系统中,可能涉及数据库操作和文件路径管理。 - ...

    安卓头像制作图片圆角剪裁相关-安卓端上传头像到服务器包含拍照获取头像本地相册获取头像并且带有剪裁功能.rar

    安卓端上传头像到服务器,包含拍照获取头像、本地相册获取头像,并且带有剪裁功能.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。

    头像选取与上传服务器

    综上所述,头像上传功能涉及到用户交互、图片处理、数据传输以及服务器处理等多个环节。开发者需要根据具体需求和平台特性,选择合适的实现策略,同时兼顾用户体验和系统性能。在实际项目中,"PictureHead"这样的...

    android上传头像到java服务器 拍照/本地 带裁剪

    在Android应用开发中,用户头像的上传是一个常见的需求,特别是在社交、个人资料设置等场景。本教程将详细讲解如何实现在...同时,考虑到服务器端的安全性,可能需要对上传的图片进行验证和限制,防止恶意文件上传。

    头像上传(可选择上传区域)

    在IT行业中,头像上传是常见的用户交互功能,特别是在社交网络、论坛或个人资料设置页面。这个项目"头像上传(可选择上传区域)"提供了一个完善的解决方案,它结合了图片选择、拖动操作以及滚动条功能,让用户能更...

    头像上传裁剪功能- ECSHOP(附带原版的图像裁剪)

    在服务器端,ECSHOP会使用PHP的GD库或者Imagick库进行图像处理。根据接收到的裁剪参数,服务器会裁剪原始图片,生成新的头像图片,并保存到特定的目录下。同时,系统也会更新用户表中的头像链接,以便在网站各处显示...

    jsp+servlet头像上传功能

    本篇文章将深入探讨如何利用`JSP`和`Servlet`来创建一个头像上传功能。 首先,`JSP`是一种基于Java的服务器端脚本语言,它允许开发者在HTML页面中嵌入Java代码,以实现动态网页效果。在头像上传的场景中,`JSP`通常...

    typecho头像上传插件.zip

    2. 图片处理:上传的图片会经过服务器端的PHP脚本处理,可能包括图片的缩放、裁剪等操作,确保图片大小符合网站规范,同时减轻服务器存储负担。 3. 数据存储:处理后的图片数据会被保存在服务器的特定目录下,并且...

    asp.net头像上传源代码

    综上所述,ASP.NET头像上传源代码涉及到文件上传控件的使用、服务器端文件处理、图片处理、数据库操作、前端展示、安全性和用户体验等多个方面。通过学习和理解这些知识点,开发者可以构建出稳定且用户体验良好的...

    配置eyeOS系统--7--服务器配置所需组件

    4. **ExifTool** (Image-ExifTool-7.67.tar.gz): ExifTool是一个强大的图片元数据处理工具,虽然在基本的eyeOS配置中不是必需的,但它可能用于处理eyeOS运行时可能遇到的图像文件,如用户的头像或上传的图片。...

    html5头像上传web端

    此技术允许用户在浏览器端选择并处理图像,无需服务器端进行额外处理,从而提高了用户体验和效率。本文将详细介绍如何实现一个支持预览、剪裁和缩放的圆形头像上传功能,并探讨相关的核心技术和最佳实践。 首先,...

    android修改头像并同步服务器

    7. **服务器端处理**:服务器端需要接收上传的图片,保存到指定位置,并更新用户的头像信息。这通常涉及数据库操作,比如更新用户表中的头像URL字段。服务器端的实现取决于所使用的语言和框架,如Node.js、Django、...

    简单实用的php+amazeui头像上传功能

    - **验证文件**:在服务器端,我们需要检查文件类型(通常是图片格式,如jpg、png等)、文件大小,确保安全和存储空间的合理使用。 - **保存文件**:使用PHP的`move_uploaded_file()`函数将上传的文件移动到指定的...

    上传头像模块服务器资源 .zip

    - **图片处理**:可能需要集成图像处理库(如ImageMagick或GD库),以便在服务器端进行图片的裁剪、缩放等操作,以适应不同展示需求。 - **权限管理**:确保只有讲师能上传和访问自己的头像,这可能需要与身份验证...

    仿qq上传头像

    下面将详细介绍如何实现一个类似QQ的头像上传功能。 1. **蒙层(Mask)设计**: - 蒙层是一种常用于创建弹窗效果的设计元素,它可以遮盖背景页面,将用户的注意力集中到特定的操作上。在仿QQ上传头像的场景中,蒙...

    上传头像进行裁剪

    - 服务器端验证:对上传的图像进行验证,确保其符合安全标准。 6. 用户体验: - 反馈机制:在裁剪过程中,应实时显示裁剪效果,以便用户确认。 - 错误提示:提供清晰的错误信息,指导用户如何解决问题。 - 性能...

    PHP+Flash 仿微博头像上传开源代码

    【PHP+Flash 仿微博头像上传开源代码】是一个基于PHP和Flash技术实现的头像上传功能,它模仿了微博平台的头像更换流程,让用户能够方便地上传、预览并选择自己的个人头像。这一功能的核心在于结合了服务器端的PHP...

    仿新浪头像上传程序flash

    【标题】"仿新浪头像上传程序flash"指的是一个基于PHP和Flash技术实现的用户头像上传和裁切系统,其设计灵感来源于新浪微博的头像上传功能。在互联网应用中,用户头像作为个人形象的代表,往往需要提供便捷且灵活的...

Global site tag (gtag.js) - Google Analytics