七牛云存储 远程抓取图片保存到指定空间(nodejs版),以及自定义key

最近两天老师给布置了一个小任务。有一个页面用到了UEditor文本编辑器,用户经常会直接粘贴整篇文档到编辑区,包括很多图片。图片的来源都是粘贴来源的地址,这可能大大影响图片的加载效率,以及如果源地址删除该图片,文章也无法正常显示。我要做的就是从该文章中,提取所有的图片,保存到七牛云存储。这样,每次显示文章,就能直接从自己的云存储加载图片。 
  首先,我的大概思路是: 获取正片文章内容,正则匹配出所有的img标签,然后再匹配出每个img标签的src属性值,也就是获得了每张图片的源地址。本来不了解七牛云,所以在如何上传到七牛云上卡住了。刚好到了周末,就趁着这两天时间,大概过了一下七牛api文档,了解到了fetch接口进行远程资源抓取。 
  以下上代码:

1. 获取所有图片的源地址

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用七牛云SDK实现Java代码上传图片指定文件夹,并自定义文件名的示例: ```java import com.qiniu.common.QiniuException; import com.qiniu.http.Response; import com.qiniu.storage.Configuration; import com.qiniu.storage.UploadManager; import com.qiniu.util.Auth; import java.io.File; public class QiniuUploadExample { // 设置好账号的ACCESS_KEY和SECRET_KEY String ACCESS_KEY = "your_access_key"; String SECRET_KEY = "your_secret_key"; // 要上传空间 String bucketName = "your_bucket_name"; // 上传七牛保存的文件名 String key = "your_file_name"; // 上传文件的路径 String filePath = "/path/to/your/file"; // 指定上传到的文件夹 String folder = "your_folder"; // 密钥配置 Auth auth = Auth.create(ACCESS_KEY, SECRET_KEY); // 创建上传对象 Configuration cfg = new Configuration(); UploadManager uploadManager = new UploadManager(cfg); public void upload() { try { // 调用put方法上传 Response res = uploadManager.put(filePath, folder + "/" + key, auth.uploadToken(bucketName)); // 打印返回的信息 System.out.println(res.bodyString()); } catch (QiniuException e) { Response r = e.response; // 请求失败时打印的异常信息 System.out.println(r.toString()); try { // 响应的文本信息 System.out.println(r.bodyString()); } catch (QiniuException qe) { // ignore } } } } ``` 其中,`ACCESS_KEY`和`SECRET_KEY`是七牛云账号的密钥,`bucketName`是要上传空间名,`key`是上传保存的文件名,`filePath`是要上传的文件路径,`folder`是指定上传到的文件夹。在上传时,使用`uploadManager.put(filePath, folder + "/" + key, auth.uploadToken(bucketName))`方法上传文件。如果上传成功,会返回上传后的信息。如果上传失败,会抛出异常并打印错误信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值