精华内容
下载资源
问答
  • 解决web项目上传图片不能及时回显的问题遇到问题解决办法简单实例OSS配置属性(yml文件)OSS配置属性实体类自定义工具类(上传、删除图片)图片上传正常如果你也是相关问题,并通过此方法解决,记得给我点个赞!...

    遇到问题

    在以前接触的web项目凡是涉及到需要上传图片,以及上传图片后需要及时回显的问题时,我的解决办法总是很死板。就是在项目中添加资源的本地映射路径,又因为在IDEA中通过
    String path = System.getProperty("user.dir");
    获取项目相对根路径后图片依然不能及时回显(有知道具体原因的望告知),所以只好将路径写死,eg:

    registry.addResourceHandler("/userImage/**").addResourceLocations("file:D:\\****\\****\\workspace\\download\\usedweb\\src\\main\\resources\\static\\userImage\\");
    

    这样做的坏处就是当我们需要将项目部署到服务器上,如阿里云服务器时,想要项目跑通必须要重新配置资源的映射路径,非常的麻烦。

    解决办法

    无意中看到阿里云的OSS(Object Storage Service)对象存储服务,是阿里云提供的海量、安全、低成本、高可靠的云存储服务,你可以使用阿里云提供的 API、SDK 接口或者 OSS 迁移工具轻松地将海量数据移入或移出阿里云 OSS。OSS 具有与平台无关的 RESTful API 接口,你可以在任何应用、任何时间、任何地点存储和访问任意类型的数据。简单来说就是你将你的资源文件如图片、视频等等上传到阿里提供的云储存中,然后按照他的规则通过url调用你上传的资源,由于储存在云上,所以不涉及本地的资源映射,也就没有了上面所说的问题。

    简单实例

    OSS配置属性(yml文件)

    userImage:
      endpoint: oss-cn-chengdu.aliyuncs.com
      keyid:你自己的accesskey
      keysecret: 你自己的accesskeySec
      bucketname: sec-deal-res
      filehost: userImage
      default-avatar: http://sec-deal-res.oss-cn-chengdu.aliyuncs.com/userImage/avatar/default.jpg
      protocol: http://
      no-pro-avatar: http://sec-deal-res.oss-cn-chengdu.aliyuncs.com/userImage/404pro.jpg
    

    OSS配置属性实体类

    /**
     * OSS配置属性实体类
     * Created by Chenge on 2020.3.18 12:15
     */
    @Component
    public class AliConfEntity {
        @Value("${userImage.endpoint}")
        private   String endpoint;
        @Value("${userImage.keyid}")
        private  String keyid;
        @Value("${userImage.keysecret}")
        private  String keysecret;
        @Value("${userImage.filehost}")
        private  String filehost;
        @Value("${userImage.bucketname}")
        private  String bucketname;
        @Value("${userImage.default-avatar}")
        private String defaultAvatar;
        @Value("${userImage.protocol}")
        private String protocol;
        @Value("${userImage.no-pro-avatar}")
        private String noProAvatar;
    
    	getter...setter...toString
    }
    

    自定义工具类(上传、删除图片)

    @Autowired
        private AliConfEntity aliConfEntity;
    
        public String upload(MultipartFile file, String fileName){
            if(file == null){
                return null;
            }
            OSSClient client = new OSSClient(aliConfEntity.getEndpoint(),aliConfEntity.getKeyid(),aliConfEntity.getKeysecret());
            if (!client.doesBucketExist(aliConfEntity.getBucketname())){
                // 判断容器是否存在,不存在就创建
                client.createBucket(aliConfEntity.getBucketname());
                CreateBucketRequest request = new CreateBucketRequest(aliConfEntity.getBucketname());
                // 设置权限(公开读)
                request.setCannedACL(CannedAccessControlList.PublicRead);
                client.createBucket(request);
            }
            //开始上传文件
            String basePath = aliConfEntity.getFilehost()+fileName;
            PutObjectResult result = null;
            try {
                result = client.putObject(new PutObjectRequest(aliConfEntity.getBucketname(),basePath,new ByteArrayInputStream(file.getBytes())));
            } catch (IOException e) {
                e.printStackTrace();
            }
            client.setBucketAcl(aliConfEntity.getBucketname(),CannedAccessControlList.PublicRead);
            if (result != null){
                return "success";
            }
            return "error";
        }
        /**
         * 删除oss上面的文件
         * @param fileName 文件名,应该时文件路径,从filehost开始
         */
        public void dealFile(String fileName){
            OSSClient client = new OSSClient(aliConfEntity.getEndpoint(),aliConfEntity.getKeyid(),aliConfEntity.getKeysecret());
            client.deleteObject(aliConfEntity.getBucketname(),fileName);
        }
    

    图片上传正常

    在这里插入图片描述

    如果你也是相关问题,并通过此方法解决,记得给我点个赞!!!

    展开全文
  • java Web项目上传图片储存到项目下

    千次阅读 2019-11-21 10:07:53
    throw new MyException("图片大小不能超过2M"); } String classpath = this.getClass().getResource("/").getPath().replaceFirst("/", ""); //String webappRoot = classpath.replaceAll("WEB-INF/classes/", ...
     @RequestMapping(value = "/mi/upload", method = RequestMethod.POST)
        @ResponseBody
        public MyResponse upload(HttpServletRequest request, @RequestParam("file") MultipartFile file) {
            long size = file.getSize();
            if(size>1024*1024*2){
                throw new MyException("图片大小不能超过2M");
            }
            String classpath = this.getClass().getResource("/").getPath().replaceFirst("/", "");
            //String webappRoot = classpath.replaceAll("WEB-INF/classes/", "");
            //可以自定义路径
            File dir = new File(classpath+"/images");
            if(!dir.isDirectory()){
                dir.mkdirs();
            }
            String accessUrl =  "/images/"+System.currentTimeMillis()+file.getName()+".jpg";
            try {
                File file1 = new File(classpath+accessUrl);
                file.transferTo(file1);
            } catch (IOException e) {
                e.printStackTrace();
                throw new MyException("上传失败");
            }
      }

    2.读取本地文件内容

    //        String filepath = "E:/upload/test.txt";//E盘下的文件夹的目录
    //        File targetFile = new File(filepath);//File类型可以是文件也可以是文件夹
    //
    //        // File targetFile = new File(path);
    //        if (!targetFile.exists()) {
    //            targetFile.mkdirs();
    //        }
    //        //保存到本地的文件
    //        // File saveFile = new File(path + fileName);
    //        FileInputStream fileInput = null;
    //        String rs = "";
    //        try {
    //            // 通过File对象构建一个流对象
    //            fileInput = new FileInputStream(targetFile);
    //            // 读取数据,并将读取的数据存储在数组中
    //            byte[] data = new byte[(int) targetFile.length()];
    //            // 读取流中的第一个字节数据
    //            int n = fileInput.read();
    //            // 读取的游标位置
    //            int i = 0;
    //            // 判断是否读到最后一个字符
    //            while (n != -1) {
    //                data[i] = (byte) n;
    //                i++;
    //                n = fileInput.read();
    //            }
    //            rs = new String(data, "GBK");
    //            System.out.println(rs);
    //        } catch (FileNotFoundException e) {
    //            e.printStackTrace();
    //        } catch (IOException e) {
    //            e.printStackTrace();
    //        }
    //        try {
    //            file.transferTo(targetFile);
    //            return new MyResponse(rs);
    //        } catch (Exception e) {
    //            e.printStackTrace();
    //            return new MyResponse(ResponseCode.OPERATE_FAIL, e.getMessage());
    //        }

     

    展开全文
  • 问题:上传图片到指定的目录,比如上传到项目文件夹中E:\briup\workspace\Buddhism\WebContent\userImage,但是上传呢完毕之后需要手动刷新该文件夹,网页上才能正常显示图片。 原因:项目部署在默认的工作空间下,...

    问题:上传图片到指定的目录,比如上传到项目文件夹中E:\briup\workspace\Buddhism\WebContent\userImage,但是上传呢完毕之后需要手动刷新该文件夹,网页上才能正常显示图片。

    原因:项目部署在默认的工作空间下,不是Tomcat安装目录下

    解决办法:

    1. 在eclipse中,remove掉所有部署的项目,并clean,
    2. 双击Tomcat,如图
      这里写图片描述
    3. 在server location项中选择第二项user Tomcat installation,并修改Deploy path的值为webapps,如图
      这里写图片描述

    4. 若此时Tomcat中部署的有项目或者没有clean,Server Location项就会是灰色的无法修改

    展开全文
  • 因为是自己电脑部署,所以图片存储路径是自己本地的某个盘,然后将项目部署到tomcat下webapps的ROOT下,因为tomcat加载的是编译好的文件,此时还需要修改tomcat的配置文件 (箭头备注可以不用看,那是自己的东西) (docBase...

    话不多说直接上图
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    因为是自己电脑部署,所以图片存储路径是自己本地的某个盘,然后将项目部署到tomcat下webapps的ROOT下,因为tomcat加载的是编译好的文件,此时还需要修改tomcat的配置文件
    在这里插入图片描述(箭头备注可以不用看,那是自己的东西)
    (docBase是真实路径,path:是映射路径)
    因为当时只是写了图片映射路径,就是第一行的context,下面的是项目的所需配置路径,就是因为没有配置这个,所以图片无法显示,因为没有映射项目的地址,所以如图2显示的http:ip地址没有被读取到导致浏览器图片无法加载

    部署的项目tomcat 记得也要启动!

    展开全文
  • winform实现为web项目上传图片的功能

    千次阅读 2013-03-16 16:02:02
    项目中有个需求:用winform维护web服务器端的数据,其中需要添加图片,且图片上传需要考虑手机端,要将图片压缩后存在另个文件夹下由手机端调用,以此减轻手机端的数据量过大的负担。...#region---上传图片---  //
  • 问题:上传图片到指定的目录,比如上传到项目文件夹中E:\briup\workspace\Buddhism\WebContent\userImage,但是上传呢完毕之后需要手动刷新该文件夹,网页上才能正常显示图片。 原因:项目部署在默认的工作空间下,...
  • 最近使用IDEA开发一个SSM框架的项目,其中一个功能为图片上传回显问题,图片上传工具类为存储到tomcat的webapp下的img文件中,数据库中存储图片的相对路径。图片上传工具类代码如下 @Service public class ...
  • 1,上传相关的配置信息 2,controller获取图片信息 @RequestMapping("/imagelist.json") @ResponseBody public Object uploadImage(HttpServletRequest request, HttpServletResponse response, @...
  • web项目图片上传

    千次阅读 2016-11-28 14:48:32
    我所想实现的是,在后台页面上传图片,存放路径到数据库中,而前台页面通过数据库可以查到,然后在页面显示,而上传的图片要保存到我在项目中所建的文件夹内
  • java web项目图片上传

    2017-11-06 21:26:10
    保存图片路径 上传图片 js更改图片 jsp页面
  • Web项目如何上传图片

    2021-03-18 21:02:47
    图片controller层该干的事 public String add(Category c,HttpSession session,UploadedImageFile uploadedImageFile)throws IOException{ categoryService.add(c); //保存c对象 File imageFolder = new File...
  • web项目处理图片上传

    2018-08-02 15:55:07
    package ... import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.web.servlet.config.annota...
  • Web项目上传文件失败

    千次阅读 2016-07-28 15:28:19
    考虑权限问题 chmod 755 uploads uploads是上传文件存储位置 js对该文件有写权限,如果无法写入,可尝试权限改成777
  • 在一个网页中添加了一个上传图片的功能,但是上传之后图片是不显示的,在eclipse上刷新一下项目,图片才会显示。如果不刷新的话,我们直接看项目下我们指定的上传图片存入的文件夹里面也是没有图片的。很明显就是一...
  • web项目上传图片所引出的路径问题
  • 我们在web项目中经常有上传图片的功能,上传的图片存在哪里呢? 存储方式一般有:存入数据库中,跟随项目相对路径中,还有就是再专门设计一个图片服务器用于图片处理。 当图片量大的时候,或者查询数据量大的时候...
  • [图片说明](https://img-ask.csdn.net/upload/201706/26/1498464193_448360.png)web项目部署到linux之后上传图片立即访问404,重启tomcat才能访问正常。![图片说明]...
  • 做了一个微信公众号的项目,需要上传用户的照片资料。使用了uploadifive.js插件做的图片上传。 具体操作如下: 参考文档:1.引入相关js <script type="text/javascript" src="static/js/jquery
  • 利用tomcat+web项目实现上传图片

    千次阅读 2019-03-15 15:40:29
    // 得到上传文件的保存目录,将上传文件存放在WEB-INF目录下,不允许外界直接访问,保证上传文件的安全 String savePath = this.getServletContext().getRealPath("WEB-INF/upload"); File saveFileDir = new ...
  • web项目之文件上传

    千次阅读 2017-09-21 15:42:44
    上传条件(3个):1.1 表单的请求方式必须是 post 1.2 表单提交的类型 enctype=”multipart/form-data” 1.3 上传控件 file类型 必须得写name属性:<input type="file" name="filename"/>2.处理上传:第三方库 2.1 ...
  •  其实 java web项目中关于上传文件、图片路径问题,一直对开发人员造成麻烦,其实了解了web的服务器,这个问题也就彻底解决了。  java web开发依赖于web服务器,一般用的有Tomcat、Jboss、Weblogic、Websphere...
  • 因为是初学者,所以想写个ssh的小项目,练练手, 在网上下了一个商城的后台模板,最近正在实现功能, 现在写到了,新增商品时的上传功能, 模板自带的上传是用的webUploader, 现在遇到的问题是图片上传的时候不知道...
  • web项目获取用户上传图片 我写的这些都是我在日常学习中遇到的问题,希望能对大家有帮助,也当做给自己的一份笔记。我自己也是网上找的一些资料学的可能不太好,如有错误,仅供参考 1.首先我们要使我们的web项目...
  • web项目中经常有图片上传下载问题,常见的方式是将图片直接上传到项目目录下面的一个文件夹中,但是这样的话如果项目重新部署会把原来的覆盖掉,所以最好是上传到项目目录外的文件夹中,但是上传到项目目录外的...
  • 一、数据库存储 ...利用上床组件把图片上传web项目下,再存储图片的相对路径到数据库表中,需生成一个新的不会重复的图片名 缺点:显而易见重新部署项目前需要重新把已上传图片备份,待部署成功后拷贝
  • 本来之前写过一篇博客,也是使用ajax来上传图片,但是发现适应性不是那么好,可能是后台做了一些处理吧,然后就自己重新写了个后台(单文件上传),重新写一份代码来上传文件后台代码是用springmvc,还是最最简单...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 78,686
精华内容 31,474
关键字:

web项目上传图片