非童小可

非童小可 VIP4

880飞吻 2017-6-18 加入 来自南开

(这个人懒得留下签名)

非童小可 最近的提问

非童小可 最近的回答

  • 6天前分享一个基于vue的layuiAdmin中回答:

    内容属于 layuiadmin 会员专区,此处不予展示
  • 2018-11-14 2:32:10分享一个基于vue的layuiAdmin中回答:

    内容属于 layuiadmin 会员专区,此处不予展示
  • 2018-7-18 20:10:57sql优化中回答:

    @dududu LEFT JOIN eb_order_info AS info 这张表是全表扫描,能有其他方式查询么
  • 2018-7-17 23:57:8如何在A电脑上给B电脑开机中回答:

    某宝搜索 开机棒
  • 2018-6-18 0:31:22地址栏中的参数变化打开新标签 页面id冲突怎么解决中回答:

    内容属于 layuiadmin 会员专区,此处不予展示
  • 2018-5-28 9:58:47公司要开发ERP后台,layui好还是Vue好啊中回答:

    你可以结合使用
  • 2018-5-21 22:26:16layim中有跨域的解决方案吗中回答:

    内容属于 layim 会员专区,此处不予展示
  • 2018-2-28 16:4:41请教多图片上传时,添加data参数,后台post获得不到值中回答:

    参数在你初始化组件时就加载好了,后续的操作参数是不会变的
  • 2017-12-20 17:46:59实现 upload 文件显示进度条中回答:

    @0123guoxiao 在那写无所谓只要能调到就行,把你的报错信息发一下
  • 2017-12-18 15:19:45实现 upload 文件显示进度条中回答:

    @0123guoxiao 在你初始化上传的js文件里写
  • 2017-11-27 21:0:56实现 upload 文件显示进度条中回答:

    @沙加 这是ajax自带功能 可以了解下xhr属性
  • 2017-11-26 22:51:592.0富文本编辑器怎么用中回答:

    找到原因了,之前 ,type: 'post' 属性不设置默认为post 现在版本不设置会没响应
  • 2017-11-26 21:50:14http://layer.layui.com/无法访问中回答:

    @爱死寂寞人 估计是封我ip了,但不知道为啥
  • 2017-11-26 21:49:24layui中的<select>和radio为何用ajax加载不出来中回答:

  • 2017-11-26 21:26:29layui中的<select>和radio为何用ajax加载不出来中回答:

    @考虑考虑 你那个是异步的,得等数据返回之后再重新渲染那
  • 2017-11-26 21:24:56http://layer.layui.com/无法访问中回答:

    @爱死寂寞人 我用手机网访问也是正常,电脑就不行
  • 2017-11-26 19:13:6layui中的<select>和radio为何用ajax加载不出来中回答:

    form.render(); //更新全部
    form.render('select'); //刷新select选择框渲染
  • 2017-11-25 2:8:56cookie取值问题中回答:

    @铁血总督 哇还有这东东,没发现 谢谢哈
  • 2017-11-17 12:44:6控制轮播问题中回答:

    @踩在乌龟上的兔 谢谢 已经解决了 做了个模拟点击
  • 2017-11-16 18:45:35控制轮播问题中回答:

    @小H 什么意思不太明白
  • 2017-11-14 17:7:22layuicms在哪里下载中回答:

  • 2017-11-14 8:35:37layuicms在哪里下载中回答:

  • 2017-11-14 8:13:37layuicms在哪里下载中回答:

    谢谢!找到了
  • 2017-11-14 6:3:32后台java,实现图片上传中回答:

    控制器代码

    public void uploadImage(HttpServletRequest request, HttpServletResponse response)
    throws IOException {

    request.setCharacterEncoding("utf-8"); // 设置编码
    response.setCharacterEncoding("utf-8");
    response.setContentType("text/html;charset=UTF-8");
    String path=this.getServletContext().getRealPath("/pages/upload");
    Map<String,Object> returnMap = new HashMap<String, Object>();
    Map<String, Object> uploadFile = FileUtils.uploadFile(request, path);
    if((Boolean)uploadFile.get("state")){
    returnMap.put("code", 0);
    returnMap.put("msg", "上传成功!");
    Map<String, Object> maps=new HashMap<String, Object>();
    maps.put("src", "upload\\"+uploadFile.get("filename"));
    maps.put("title", uploadFile.get("filename"));
    returnMap.put("data", maps);
    }else{
    returnMap.put("code", 1);
    returnMap.put("msg", "上传失败!");
    }
    String mapToJsonStr = JsonUtils.MapToJsonStr(returnMap);
    BaseActionController.sendJSON(response, mapToJsonStr);
    }


    工具类
    package com.tkk.base.common.utils;

    import java.io.File;
    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.FileUploadException;
    import org.apache.commons.fileupload.disk.DiskFileItemFactory;
    import org.apache.commons.fileupload.servlet.ServletFileUpload;
    /**
    *
    * 类名称:FileUtils
    * 类描述: 上传文件工具类
    * @version V1.0
    *
    */
    public class FileUtils {
    /**
    *
    * @Title: uploadFile
    * @Description: TODO(上传文件)
    * @param @param request
    * @param @param path
    * @param @return
    * @return Map<String,Object> 返回类型
    * @throws
    */
    public static Map<String, Object> uploadFile(HttpServletRequest request,
    String path) {
    // 获得磁盘文件条目工厂
    DiskFileItemFactory factory = new DiskFileItemFactory();

    // 如果没以下两行设置的话,上传大的文件会占用很多内存,
    // 设置暂时存放的存储室 ,这个存储室,可以和最终存储文件的目录不同
    /**
    * 原理 它是先存到 暂时存储室,然后在真正写到 对应目录的硬盘上, 按理来说 当上传一个文件时,其实是上传了两份,第一个是以 .tmp
    * 格式的 然后再将其真正写到 对应目录的硬盘上
    */
    factory.setRepository(new File(path));
    // 设置 缓存的大小,当上传文件的容量超过该缓存时,直接放到 暂时存储室
    factory.setSizeThreshold(1024 * 1024);

    // 高水平的API文件上传处理
    ServletFileUpload upload = new ServletFileUpload(factory);
    Map<String, Object> returnMap = new HashMap<String, Object>();
    try {
    // 提交上来的信息都在这个list里面
    // 这意味着可以上传多个文件
    // 请自行组织代码
    List<FileItem> list = upload.parseRequest(request);
    // 获取上传的文件
    FileItem item = getUploadFileItem(list);
    String filename = getUploadFileName(item);
    Map<String, String> splitFile = splitFile(filename);
    String oldfilename=splitFile.get("name");
    int count=1;
    while(judeFileExists(path + "\\" + filename)){
    filename=oldfilename+"("+count+")"+splitFile.get("format");
    count++;
    }
    System.out.println("存放目录:" + path);
    System.out.println("文件名:" + filename);
    // 真正写到磁盘上
    item.write(new File(path, filename)); // 第三方提供的
    returnMap.put("state", true);
    returnMap.put("filename", filename);
    } catch (FileUploadException e) {
    returnMap.put("state", false);
    } catch (Exception e) {
    returnMap.put("state", false);
    }
    return returnMap;
    }

    /**
    *
    * @Description: TODO(拆分文件名)
    * @param @param str
    * @param @return name:文件名称
    * @return Map<String,Object> 返回类型
    * @throws
    */
    public static Map<String, String> splitFile(String str) {
    String name=str.substring(0,str.lastIndexOf("."));
    String format=str.substring(str.lastIndexOf("."),str.length());
    Map<String, String> returnMap =new HashMap<String, String>();
    returnMap.put("name", name);
    returnMap.put("format", format);
    return returnMap;
    }

    /**
    * 获取路径名
    * @Title: getUploadFileName
    * @Description: TODO( 获取路径名)
    * @param @param item
    * @param @return
    * @return String 返回类型
    * @throws
    */
    private static String getUploadFileName(FileItem item) {
    // 获取路径名
    String value = item.getName();
    // 索引到最后一个反斜杠
    int start = value.lastIndexOf("/");
    // 截取 上传文件的 字符串名字,加1是 去掉反斜杠,
    String filename = value.substring(start + 1);

    return filename;
    }

    /**
    * @Title: getUploadFileItem
    * @Description: TODO(获取上传文件)
    * @param @param list
    * @param @return
    * @return FileItem 返回类型
    * @throws
    */
    private static FileItem getUploadFileItem(List<FileItem> list) {
    for (FileItem fileItem : list) {
    if (!fileItem.isFormField()) {
    return fileItem;
    }
    }
    return null;
    }

    /**
    * @Title: creatFile
    * @Description: TODO(创建文件夹)
    * @param @param path
    * @return void 返回类型
    * @throws
    */
    public static void creatFile(String path) {
    File file = new File(path);
    // 如果文件夹不存在则创建
    if (!file.exists() && !file.isDirectory()) {
    System.out.println("//不存在");
    file.mkdir();
    } else {
    System.out.println("//目录存在");
    }
    }

    /**
    *
    * @Title: judeFileExists
    * @Description: TODO(判断文件是否存在)
    * @param @param path
    * @param @return
    * @return boolean 返回类型
    * @throws
    */
    public static boolean judeFileExists(String path) {
    File file = new File(path);
    if (file.exists()) {
    System.out.println("文件存在");
    return true;
    } else {
    System.out.println("文件不存在");
    return false;
    }

    }

    /**
    * @Title: deleteFile
    * @Description: TODO(删除单个文件)
    * @param @param sPath
    * @param @return
    * @return boolean 返回类型
    * @throws
    */
    public static boolean deleteFile(String path) {
    File file = new File(path);
    // 路径为文件且不为空则进行删除
    if (file.isFile() && file.exists()) {
    file.delete();
    return true;
    }
    return false;
    }
    }
    所需jar 包 commons-fileupload-1.3.jar
  • 2017-11-13 0:46:50requirejs加载layer.js的问题中回答:

    layui.js 要和 require.js 在同一路径
  • 2017-11-13 0:45:19requirejs加载layer.js的问题中回答:

    require.config({
    paths: {
    'layui': ui_path + '/js/layui'
    },
    shim:{
    'layui': {
    deps: [],
    exports: 'layui'
    }
    }
    })

  • 2017-8-3 0:17:55layim接收消息失败中回答:

    你传的数据不全啊