七牛云图片上传以及浏览

1、
百度搜索‘七牛云’,注册账号

创建空间

 

2、
thinkPHP6的代码 以及扩展安装
先安装扩展
两条命令:

# 安装扩展
composer require  death_satan/think-qiniu-storage

composer require overtrue/laravel-filesystem-qiniu
 

 

 上图代码:

 'qiniu' => [
            'type'=>'qiniu',
            'accessKey'=>'…………………………',//你的accessKey
            'secretKey'=>'…………………………',//你的secretKey
            'bucket'=>'…………………………',//你的存储空间名
            'domain'=>'…………………………' //你的七牛云加速域名
        ],


上图代码:


    public function uploadImage(){
        $image = \request()->all('image');
        $path = Filesystem::disk('qiniu')->putFile(date('Y-m-d'),$image,'uniqid');
        return json([
           'code'=>200,
           'msg'=>'上传七牛成功',
           'data'=>[
               'path'=>$path,
           ]
        ]);
    }

postman 对应截图

上传成功
3、浏览对应的图片

 

 

### Java 中查看七牛云存储图片方法 为了在Java应用程序中查看已上传至七牛云的图片,通常的做法不是直接通过API获取并显示图像数据流,而是利用七牛云提供的外链访问功能。当文件被成功上传到指定的空间(bucket)后,会自动生成一个唯一的资源链接(URL),该链接可以直接嵌入HTML页面或其他应用界面供用户浏览。 #### 获取图片URL 假设已经完成了一张名为`example.jpg`的照片上传操作,并将其存放在名为`myBucket`的空间内,则可以通过拼接的方式构建出完整的HTTP/HTTPS形式的公网访问地址: ```plaintext http(s)://<域名>/<bucket名称>/<对象键> ``` 其中,“<域名>”取决于所选区域以及是否启用了自定义加速域名;“<bucket名称>”即创建时设定的名字;而“<对象键(Object Key)>”,则是指代具体某份资料的身份标识符——也就是之前提到过的`objectName`[^1]。 例如,如果上述变量的具体取值分别为`rs.qiniu.com`, `myBucket`, 和`upload/example.jpg`的话,那么最终形成的绝对路径应该是这样的样子: ```plaintext https://rs.qiniu.com/myBucket/upload/example.jpg ``` #### 使用代码展示图片 下面给出一段简单的Servlet程序片段作为示范,它能够接收客户端传递过来的一个参数(代表特定照片),随后返回相应的二进制字节序列给浏览器端解析渲染成可视化的图形内容。 ```java protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 假设传来的参数叫 'imageName' String imageName = request.getParameter("imageName"); // 构造完整url StringBuilder imageUrlBuilder = new StringBuilder(); imageUrlBuilder.append("https://").append(domain).append("/").append(bucketName).append("/"); imageUrlBuilder.append(imageName); URL url = new URL(imageUrlBuilder.toString()); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); InputStream inputStream = conn.getInputStream(); byte[] buffer = IOUtils.toByteArray(inputStream); // Apache Commons IO库中的工具类 response.setContentType("image/jpeg"); // 设置响应头信息为jpeg格式 OutputStream outputStream = response.getOutputStream(); outputStream.write(buffer); inputStream.close(); outputStream.flush(); outputStream.close(); } ``` 这段代码首先读取来自GET请求中的查询字符串部分以得知目标影像的确切位置,接着按照前述规则合成其对应的网络定位符,最后借助于标准输入输出流机制把远端服务器上的实际位图复制一份送达到前端设备屏幕上呈现出来。 值得注意的是,这里采用的是间接加载策略而非直接调用七牛SDK里的某些函数接口去抓取远程主机上的静态素材。这样做不仅简化了编码难度还提升了执行效率,因为减少了不必要的中间件依赖关系同时也规避了一些潜在的安全隐患风险。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值