web上传图片到七牛云服务器(代码片段)

SDingBa SDingBa     2022-12-12     175

关键词:

本文通过java web的使用,把要上传的图片通过浏览器上传到服务器上面.
` 文本仅供参考,可能出现很多不合理;


` 1 创建对应的jsp页面:
下面是jsp下面的对应的from表单,上传文件用的那么ImgFiles的属性名称,同样你可以使用其他的,或者以数组的形式,比如imgFiles[0],…

<form action="http://ipAdress:9010/api/sdingba/upload" method="post"
      enctype="multipart/form-data">
    <p>
        选择文件:<input type="file" name="imgFiles">
    <p>
        选择文件:<input type="file" name="imgFiles">
    <p>
        选择文件:<input type="file" name="imgFiles">
    <p>
        <input type="submit" value="提交">
</form>

2, 创建对应的voParam
本文主要将文件上传,不涉及其他的参数

private List<MultipartFile> imgFiles;
// set and get method ...

3,创建对应的控制器Controller
用控制器的方式,绑定参数的方式添加对应的图片文件的属性.

    @ResponseBody
    @RequestMapping("/upload")
    public BaseVO addMaterialData(AdMaterialParam param) 
    
        List<MultipartFile> multipartFiles = adMaterialParam.getImgFiles();
        //这样就算获取到了上传的文件了,
        //如果你吧文件添加到服务器本地上面,你可以使用org.apache.commons.io下面的FileUtils对象直接吧文件复制到本地,
        //比如:FileUtils.copyInputStreamToFile(file.getInputStream(), new File(path, filename));
    

4,但是如果想上传到七牛云还是要做很多的处理的;如下
比如,你可能要处理文件的大小格式后在添加到云上面,等等,

本文的文件上传的格式使用的是MultipartFile属性的imgFile.getBytes()属性,
imgFile.getInputStream()可以获取流信息;
    //imageFiles是获取到的  List<MultipartFile>
    List<AdImagePath> adImagePaths = new ArrayList<>();
        AdImagePath adImagePath;
  for (int i = 0; i < imageFiles.size(); i++) 
            adImagePath = new AdImagePath();
            adImagePath.setMaterialId(adMaterialId);
            MultipartFile imgFile = imageFiles.get(i);

            try 
                boolean isImage = isImage(imgFile.getInputStream());
                if (isImage) 
                    // 处理文件 大小
                    byte[] imgBytes = setImageTypeSize(setWidth, setHeight, imgFile);

                    if (!CollectionUtils.sizeIsEmpty(imgBytes)) 
                        String resultPath = qiniuYunUtils.upload(imgBytes, imgFile.getOriginalFilename(),
                                String.valueOf(i + 1));
                        // String resultPath=qiniuYunUtils.upload(imgFile.getBytes(),imgFile.getOriginalFilename());
                        String path = JSON.parseObject(resultPath).get("key").toString();
                        adImagePath.setImageUrl(path);
                    
                
             catch (IOException e) 
                e.printStackTrace();
                jsonObject.put("result", "error");
            
            adImagePaths.add(adImagePath);
        
**以下是上面那段代码包含的函数;不足的参考上一篇博客,utils**
/**
     * 判断文件是否是图片格式
     *
     * @param imageFile
     * @return
     */
    private boolean isImage(InputStream imageFile) 
        Image img = null;
        try 
            img = ImageIO.read(imageFile);
            if (img == null || img.getWidth(null) <= 0 || img.getHeight(null) <= 0) 
                return false;
            
            return true;
         catch (Exception e) 
            return false;
         finally 
            img = null;
        
    
   /**
     * 设置图片格式的大小
     *
     * @param setWidth
     * @param setHeight
     * @param imgFile
     * @return
     * @throws IOException
     */
    private byte[] setImageTypeSize(int setWidth, int setHeight, MultipartFile imgFile) throws IOException 
        byte[] imgBytes;
        if (setWidth > 0 || setHeight > 0) 
            imgBytes = qiniuYunUtils.resizeImageFile(imgFile.getInputStream(), setWidth, setHeight);
         else 
            imgBytes = imgFile.getBytes();
        
        return imgBytes;
    
 /**
     * 上传文件
     * 
     * @param file byte[]
     * @param fileName
     * @return 文件名
     */
    public static String upload(byte[] file, String fileName, String orderBy) 
        String key = orderBy + "=" + UUID.randomUUID().toString() + "_" + fileName;
        UploadManager uploadManager = new UploadManager();// 创建上传对象
        try 
            Response res = uploadManager.put(file, key, getUpToken());
            return res.bodyString();
         catch (QiniuException e) 
            Response r = e.response;
            LOGGER.error("上传七牛云异常:", r.toString());
            try 
                LOGGER.error("上传七牛云异常:", r.bodyString());
                System.out.println();
             catch (QiniuException e1) 
            
        
        return null;
    
**下一篇博客将 七牛云的数据怎么下载.**

微信小程序上传图片及上传到上传到七牛云(代码片段)

微信小程序图片上传功能包含:上传到七牛云、删除图片、查看图片   1.创建子组件tpupload//wxml文件<viewstyle="padding:10px;"><!--图片上传--><viewclass="weui-uploader"><viewclass="img-vweui-uploader__bd">< 查看详情

thinkphp6上传图片七牛云如何上传文件到七牛云对象储存cos

参考技术AThinkPHP6如何上传图片七牛云,如何上传文件到七牛云对象储存cos,总所周知图片是特别消耗网站带宽的,个人网站将图片上传至七牛云才能显著提升网站的响应速度,手把手交大家如何上配置ThinkPHP6上传文件至七牛云.然后我... 查看详情

go实战|电商平台图片上传到七牛云(代码片段)

...息2.config3.upload完整代码这一章节中我们介绍如何把图片上传到七牛云,并且返回对应图片的url。因为后续我们的创建的商品,更换头像等等都是把我们的图片上传七牛云存储,再返回对应的url的。1.获取配置信息打开... 查看详情

谁用七牛云设置水印成功了

...为主的站点,这样可以节省很大带宽。将图片上传到七牛服务器的重点就是获得上传凭证uploadToken,直接把AccessKey和Secret放到客户端太不安全,容易被反编译。所以需要在服务器端根据AccessKey和Secret动态生成一个uploadToken,然后... 查看详情

前端上传图片头像到七牛云格式变成text

参考技术A流程:七牛云后台的对象存储功能,nodejs后台生成七牛云的token,前端利用elementUI/ice的upload组件,文件名和token作为参数请求到七牛云后台。配置已经完成,写接口用的是express,koa同理,主要做法是先接收前端的图片... 查看详情

上传base64图片到七牛云前端遇到的坑

介意前端普通引入七牛云SDk上传图片到七牛云需要多个js,所以才有了base64的上传方式,简化操作,(懒。)七牛云官方文档如下https://developer.qiniu.com/kodo/kb/1326/how-to-upload-photos-to-seven-niuyun-base64-code  我们前端理所当然就... 查看详情

ueditor上传图片到七牛云存储(formapi,java)

转:http://my.oschina.net/duoduo3369/blog/174655ueditor上传图片到七牛云存储ueditor结合七牛传图片七牛的试炼开发前的准备与注意事项说明Let‘srock与ueditor结合前的准备工作首先从表单开始生成token建立图片空间生成token上传流程集成ueditor... 查看详情

七牛云文件上传助手(代码片段)

qiniuyun_upload_tools最近写博客发现经常要上传图片到七牛云上去,每次打开网页登录然后上传感觉很慢,windows也没有一个好的上传工具,于是写了这样的一个工具。效果使用方法下载程序包点击下载解压后直接在config.json文件里面... 查看详情

php表单上传图片到七牛云存储并返回地址……求具体流程~有代码更好

...的资料太少了。研究了下API之后,现在已经能实现图片的上传和下载及上传之后的重定向。首先本篇文章实现的功能如下:1.利用表单上传功能,用户可以点击选择文件按钮,选择本地的一个文件,同时设定上传的图片的名称,... 查看详情

如何将图片上传到七牛云平台?

...如何将图片上传到Cloudinary云平台?”但是由于Cloudinary的服务器在国外,所以上传和读取图片的速度会很慢,不适合用作生产,因此有必要再介绍一下国内广受欢迎的“七牛”云平台。以及分步骤给大家介绍如何使用七牛。各位... 查看详情

java实现上传网络图片到七牛云存储(代码片段)

...中,给我们返回该图片的地址。代码实现因为七牛云上传图片的时候,传递的是MultipartFile类型,所以我们需要将网络图片utl转换 查看详情

java实现上传网络图片到七牛云存储(代码片段)

...中,给我们返回该图片的地址。代码实现因为七牛云上传图片的时候,传递的是MultipartFile类型,所以我们需要将网络图片utl转换 查看详情

文件流数组上传到七牛云

首先要注册七牛云,申请个空间,获得密钥、等东西,引入官方sdk包,然后再开发文档中找到代码copy进去就可以了。因为非常简单,我就直接弄上代码了。1packagecom.qianmo.foru.bean.request;23importcom.qianmo.core.common.CommonRequest;4importorg.hi... 查看详情

springboot上传文件到七牛云

准备工作mavenpom.xml添加七牛云的sdk依赖<dependency><groupId>com.qiniu</groupId><artifactId>qiniu-java-sdk</artifactId><version>7.2.27</version></dependency>配置项七牛云上传 查看详情

java实现七牛云文件或图片上传下载(代码片段)

...赖2.2.上传下载具体代码三、具体业务例子(七牛云做图片服务器--SpringBoot)3.1.pom.xml(此处继承上面的依赖多引入一个)3.2.创建一个html页面3.3.接下来就是FileUtil.java(判断图片的后缀是否符合要求)3.4.接下来写QiniuSe 查看详情

php上传文件与图片到七牛的实例详解(代码片段)

上传文件到七牛最简单的方式就是使用七牛官方最新的SDK用composer安装PHPSDKcomposer require qiniu/php-sdk 上传文件到七牛use QiniuAuth;use QiniuStorageUploadManager;$cfg = [ ‘access‘ =>&nb 查看详情

javawebservletjsp使用七牛云api上传图片(代码片段)

文章目录JavaWebservletjsp使用七牛云API上传图片工具类七牛云工具类JDBC工具类servicePhotoServicePhotoServiceImplDaoPhotoDaoPhotoDaoImplvoMyPutRetPhotoResultwebappweb.xmldata.jspdetail.jspindex.jsplist.jsptransfer.jspservletJDBCs 查看详情

vue3+typescript上传文件到七牛云

.../detail/21414BX0Uleafage-ms项目写了很久了,但是一直没有完成上传文件的功能,之前看了几次七牛云的文档,折腾了几次,没有成功,今天下了决心必须解决这个问题就又开始了各种找资料,看文档,看示例,终于搞定了。项目中使... 查看详情