使用(七牛云)为例子实现将文件上传到云服务器

这篇具有很好参考价值的文章主要介绍了使用(七牛云)为例子实现将文件上传到云服务器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目的

目前,用户的头像、分享生成的长图等文件都是存放在本地的,我们可以将他们存放在云服务器中,此处我们使用七牛云作为例子示范。

七牛云

创建账户并申请如下的两个bucket,分别是用户头像的存储空间和分享长图的存储空间。
使用(七牛云)为例子实现将文件上传到云服务器,javaweb项目,服务器,运维

导入依赖

		<!-- https://mvnrepository.com/artifact/com.qiniu/qiniu-java-sdk -->
		<dependency>
			<groupId>com.qiniu</groupId>
			<artifactId>qiniu-java-sdk</artifactId>
			<version>7.13.1</version>
		</dependency>

配置

# qiniu
qiniu.key.accessKey=
qiniu.key.secretKey=
qiniu.bucket.header.name=coderforum-header
qiniu.bucket.header.url=
qiniu.bucket.share.name=coderforum-share
qiniu.bucket.share.url=

Controller

@Controller
@RequestMapping("/user")
public class UserController implements CommunityConstant {

    private static Logger logger = LoggerFactory.getLogger(UserController.class);

    @Value("${qiniu.key.accessKey}")
    private String accessKey;

    @Value("${qiniu.key.secretKey}")
    private String secretKey;

    @Value("${qiniu.bucket.header.name}")
    private String headerBucketName;

    @Value("${qiniu.bucket.header.url}")
    private String headerBucketUrl;

    @LoginRequired
    @RequestMapping(path = "/setting", method = RequestMethod.GET)
    public String getSettingPage(Model model) {
        // set the name of the uploaded file
        String fileName = CommunityUtil.generateUUID();

        // set the information of the response
        StringMap policy = new StringMap();
        policy.put("returnBody", CommunityUtil.getJSONString(0));

        // generate the certificate of uploading
        Auth auth = Auth.create(accessKey, secretKey);
        String uploadToken = auth.uploadToken(headerBucketName, fileName, 3600, policy);

        model.addAttribute("uploadToken", uploadToken);
        model.addAttribute("fileName", fileName);

        return "/site/setting";
    }

    // update the path of profile picture
    @PostMapping(path = "/header/url")
    @ResponseBody
    public String updateHeaderUrl(String fileName){
        if(StringUtils.isBlank(fileName)){
            return CommunityUtil.getJSONString(1, "The file name cane is required.");
        }

        String url = headerBucketUrl + "/" + fileName;
        userService.updateHeader(hostHolder.getUser().getId(), url);

        return CommunityUtil.getJSONString(0);
    }
}

前端

<!--				上传到云服务器(七牛云)-->
				<form class="mt-5" id="uploadForm">
					<div class="form-group row mt-4">
						<label for="head-image" class="col-sm-2 col-form-label text-right">choose a photo:</label>
						<div class="col-sm-10">
							<div class="custom-file">
								<input type="hidden" name="token" th:value="${uploadToken}">
								<input type="hidden" name="key" th:value="${fileName}">
								<input type="file" class="custom-file-input" id="head-image" name="file" lang="es" required="">
								<label class="custom-file-label" for="head-image" data-browse="文件">select a photo</label>
								<div class="invalid-feedback">
									This account does not exist!
								</div>
							</div>
						</div>
					</div>
					<div class="form-group row mt-4">
						<div class="col-sm-2"></div>
						<div class="col-sm-10 text-center">
							<button type="submit" class="btn btn-info text-white form-control">upload</button>
						</div>
					</div>
				</form>


	<script th:src="@{/js/setting.js}"></script>

相应的js文件:

$(function(){
    $("#uploadForm").submit(upload);
});

function upload() {
    $.ajax({
        url: "https://upload-z1.qiniup.com",
        method: "post",
        processData: false,
        contentType: false,
        data: new FormData($("#uploadForm")[0]),
        success: function(data) {
            if(data && data.code == 0) {
                // 更新头像访问路径
                $.post(
                    CONTEXT_PATH + "/user/header/url",
                    {"fileName":$("input[name='key']").val()},
                    function(data) {
                        data = $.parseJSON(data);
                        if(data.code == 0) {
                            window.location.reload();
                        } else {
                            alert(data.msg);
                        }
                    }
                );
            } else {
                alert("Upload failed!");
            }
        }
    });
    return false;
}

查看

文件已经存入七牛云
使用(七牛云)为例子实现将文件上传到云服务器,javaweb项目,服务器,运维文章来源地址https://www.toymoban.com/news/detail-690193.html

到了这里,关于使用(七牛云)为例子实现将文件上传到云服务器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【自用笔记】小程序中使用七牛云上传图片

    因为我们之前使用的上传图片在上传比较大的图片时回显耗时很长,所以要求改用七牛云,根据领导给的参考和自己查的资料,做出来一个比较简单的可以满足需求。 首先需要进行准备工作: 内容参考这里(领导给的参考,因为部分准备工作已经做过了,所以我这里就直接

    2024年04月09日
    浏览(29)
  • Gin+微服务实现抖音视频上传到七牛云

    如果你对Gin和微服务有一定了解,看本文较容易。 执行命令: Go SDK 的所有的功能,都需要合法的授权。授权凭证的签算需要七牛账号下的一对有效的 Access Key 和 Secret Key ,这对密钥可以通过如下步骤获得: 点击注册🔗开通七牛开发者帐号 如果已有账号,直接登录七牛开发

    2024年02月12日
    浏览(39)
  • springboot+vue项目中如何利用七牛云实现头像的上传

    做了个前后端分离的项目,对于用户的头像修改一直不是很满意, 于是用了Vant4的组件库改成了文件点击上传,先是打算存到本地,了解到七牛云的方便后(主要是免费),决定改成七牛云存储图片,记录一下操作,方便查看复习 目录 一、七牛云 七牛云简介 七牛云使用 二

    2024年02月11日
    浏览(44)
  • flutter开发 - 七牛云上传sdk插件qiniu_flutter_sdk使用

    flutter七牛云上传sdk插件qiniu_flutter_sdk使用 最近在拆分代码,将上传组件设置成插件,下面记录下实现过程。 一、创建flutter_plugin上传插件 这里Android Studio使用创建plugin 填写一下信息 Project name Project location Description Project type Organization Android Language iOS Language Platforms 二、代码实

    2024年02月10日
    浏览(31)
  • uniapp 集成七牛云,上传图片

    4 相册选择照片,或者拍照后,使用上传代码

    2024年02月17日
    浏览(48)
  • Element ui Upload 上传图片到七牛云

    action里填写的是七牛云的服务器地址(根据自己申请的区域填,如下图,我这边用的是华北地区) 注意:开发环境可以用http但是上线时需改为https请求,不然请求失败,所以建议都用https 七牛的一张存储区域表 存储区域    区域代码    客户端上传地址    服务端上传地址

    2024年02月14日
    浏览(45)
  • el-upload上传图片到七牛云或阿里云

    (1)绑定上传地址,上传数据对象 (2)定义数据 (3)定义方法         图片的路径就是图片头加上返回的key

    2024年02月10日
    浏览(34)
  • SpringBoot集成阿里云OSS、华为云OBS、七牛云、又拍云等上传案例【附白嫖方案】【附源码】

    唉!本文写起来都是泪点。不是刻意写的本文,主要是对日常用到的文件上传做了一个汇总总结,同时希望可以给用到的小伙伴带来一点帮助吧。 上传本地,这个就不水了,基本做技术的都用到过吧; 阿里云OSS,阿里云是业界巨鳄了吧,用到的人肯定不少吧,不过博主好久

    2024年02月22日
    浏览(39)
  • 七牛云上传报错 Expected URL scheme ‘http‘ or ‘https‘ but no colon was found

    报错如下: 报错意思是:请求的url没有冒号,正常的是http:// 或者https://。 相关说明:服务器环境为甲方提供的linux服务器,不是云服务器, 相当于没有连接外网 ,涉及调用第三方Api需要将调用地址和端口提供给他们。配置以后才可以调用。因此在提供七牛云调用地址时,是在本

    2024年01月20日
    浏览(37)
  • Springboot使用七牛云对象存储

    Springboot使用七牛云对象存储,学习文章地址: Spring Boot集成七牛云对象存储oss_springboot集成七牛云_dreaming9420的博客-CSDN博客 详细教程: Spring Boot集成七牛云 官方sdk地址 4.1在pom.xml中添加maven依赖 com.qiniu qiniu-java-sdk 7.7.0 编写yml配置文件 qiniu: kodo: # 配置accessKey accessKey: accessKey

    2024年02月02日
    浏览(25)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包