如何使用阿里云OSS储存文件和注意事项

上传图片至阿里云 上传图片至阿里云的工具类: /** * Copyright(c) Jade Techonologies Co., Ltd. */ import com.aliyun.oss.ClientException; import com.aliyun.oss.OSSClient; import com.aliyun.oss.OSSException; import com.aliyun.oss.... 阅读详情

开发流程

maven依赖

<dependency>
    <groupId>com.aliyun.oss</groupId>
    <artifactId>aliyun-sdk-oss</artifactId>
    <version>2.7.0</version>
</dependency>

实例文档

/**
 * 示例说明
 * 
 * HelloOSS是OSS Java SDK的示例程序,您可以修改endpoint、accessKeyId、accessKeySecret、bucketName后直接运行。
 * 运行方法请参考README。
 * 
 * 本示例中的并不包括OSS Java SDK的所有功能,详细功能及使用方法,请参看“SDK手册 > Java-SDK”,
 * 链接地址是:https://help.aliyun.com/document_detail/oss/sdk/java-sdk/preface.html?spm=5176.docoss/sdk/java-sdk/。
 * 
 * 调用OSS Java SDK的方法时,抛出异常表示有错误发生;没有抛出异常表示成功执行。
 * 当错误发生时,OSS Java SDK的方法会抛出异常,异常中包括错误码、错误信息,详细请参看“SDK手册 > Java-SDK > 异常处理”,
 * 链接地址是:https://help.aliyun.com/document_detail/oss/sdk/java-sdk/exception.html?spm=5176.docoss/api-reference/error-response。
 * 
 * OSS控制台可以直观的看到您调用OSS Java SDK的结果,OSS控制台地址是:https://oss.console.aliyun.com/index#/。
 * OSS控制台使用方法请参看文档中心的“控制台用户指南”, 指南的来链接地址是:https://help.aliyun.com/document_detail/oss/getting-started/get-started.html?spm=5176.docoss/user_guide。
 * 
 * OSS的文档中心地址是:https://help.aliyun.com/document_detail/oss/user_guide/overview.html。
 * OSS Java SDK的文档地址是:https://help.aliyun.com/document_detail/oss/sdk/java-sdk/install.html?spm=5176.docoss/sdk/java-sdk。
 * 
 */

package com.aliyun.oss.demo;

import java.io.BufferedReader;
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.List;

import com.aliyun.oss.ClientException;
import com.aliyun.oss.OSSClient;
import com.aliyun.oss.OSSException;
import com.aliyun.oss.model.BucketInfo;
import com.aliyun.oss.model.OSSObject;
import com.aliyun.oss.model.OSSObjectSummary;
import com.aliyun.oss.model.ObjectListing;

import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;

public class HelloOSS {
    static Logger logger = Logger.getLogger(HelloOSS.class);
        // endpoint是访问OSS的域名。如果您已经在OSS的控制台上 创建了Bucket,请在控制台上查看域名。
    // 如果您还没有创建Bucket,endpoint选择请参看文档中心的“开发人员指南 > 基本概念 > 访问域名”,
    // 链接地址是:https://help.aliyun.com/document_detail/oss/user_guide/oss_concept/endpoint.html?spm=5176.docoss/user_guide/endpoint_region
    // endpoint的格式形如“http://oss-cn-hangzhou.aliyuncs.com/”,注意http://后不带bucket名称,
    // 比如“http://bucket-name.oss-cn-hangzhou.aliyuncs.com”,是错误的endpoint,请去掉其中的“bucket-name”。
    private static String endpoint = "http://oss-cn-hangzhou.aliyuncs.com";

    // accessKeyId和accessKeySecret是OSS的访问密钥,您可以在控制台上创建和查看,
    // 创建和查看访问密钥的链接地址是:https://ak-console.aliyun.com/#/。
    // 注意:accessKeyId和accessKeySecret前后都没有空格,从控制台复制时请检查并去除多余的空格。
    private static String accessKeyId = "<YourAccessKeyId>";
    private static String accessKeySecret = "<YourAccessKeySecret>";

    // Bucket用来管理所存储Object的存储空间,详细描述请参看“开发人员指南 > 基本概念 > OSS基本概念介绍”。
    // Bucket命名规范如下:只能包括小写字母,数字和短横线(-),必须以小写字母或者数字开头,长度必须在3-63字节之间。
    private static String bucketName = "<YourBucketName>";

    // Object是OSS存储数据的基本单元,称为OSS的对象,也被称为OSS的文件。详细描述请参看“开发人员指南 > 基本概念 > OSS基本概念介绍”。
    // Object命名规范如下:使用UTF-8编码,长度必须在1-1023字节之间,不能以“/”或者“\”字符开头。
    private static String firstKey = "my-first-key";
/**
 * 执行上传操作
 * @param file 文件
 * @param fileName 文件名
 * @return
 */
   public String uplodeImages(InputStream file,String fileName){
        try {

            // 使用访问OSS
            ossClient.putObject( bucketName, fileName,file);
            //返回路径
            return path + fileName;
        } catch (OSSException e) {
            logger.error("Error Code:" + e .getErrorCode());
            logger.error("Request ID:" + e.getRequestId());
            logger.error("Host ID:" + e.getHostId());
            logger.error("=====================>>文件上传至阿里云失败!");
            e.printStackTrace();
        } catch (ClientException ce) {
            logger.error( "Caught an ClientException, which means the client encountered "
                    + "a serious internal problem while trying to communicate with OSS, "
                    + "such as not being able to access the network."); 
            logger.error("=====================>>连接至里云失败!"); 
        }
        return null;
    }
}

产生的错误


maven项目中启动web报:java.lang.NoClassDefFoundError: org/apache/http/ssl/TrustStrategy

错误解方案

httpclient版本重复

aliyun-sdk-oss 里面有httpclient 版本号为4.4.5
所以我们要删除我们自己的依赖或者屏蔽阿里云自带的依赖

这里写图片描述

屏蔽方法

<dependency>  
    <groupId>com.aliyun.oss</groupId>  
    <artifactId>aliyun-sdk-oss</artifactId>  
    <version>2.5.0</version>          
    <exclusions>   
        <exclusion>     
        <groupId>org.apache.httpcomponents</groupId>   
        <artifactId>httpclient</artifactId>                      
        </exclusion>   
    </exclusions>   
</dependency>  

httpcomponents 版本太低

但是有可能我们版本为 4.3.x,造成依赖太低,就会报错

经测试 我们的 httpcomponents 最低版本为 4.4以上

文章来自 我的博客-90码农

wordpress网站如何配置阿里云OSS对象云储存(新手详细教程) 目前越来越多的用户喜欢将图片等附件单独存放到第三方对象云储存了,这样处理可以为服务器节省很多磁盘空间,在网站搬家的时候减少文件迁移的工作量,并且独立云储存在访问文件的时候也避开了服务器带宽的限制,所以是可以降低建站/运维成本,提高访问体验的。对于对象云储存,我们最熟悉的应该就是阿里云的OSS了,下面简单介绍下他在WordPress上的配置使用方法。 创建 Bucket 进入阿里云控制台,可通过菜单的产品与服务>存储与CDN>对象存储 OSS进入OSS控制台,然后点击创建 Bucket按钮创建 阅读详情

相关推荐

Obsidian多端同步终极指南:阿里云OSS+Remotely Save保姆级配置教程

本文提供Obsidian多端同步的终极解决方案,重点介绍阿里云OSS+Remotely Save的保姆级配置教程。从方案对比到详细配置步骤,帮助用户实现跨设备无缝同步笔记,特别适合追求稳定存储和技术配置的用户。涵盖成本优化、实时同步方案及移动端专项优化,是Obsidian用户实现高效知识管理的实用指南。

vvv99的博客 675

阿里云OSS对象存储

阿里云OSS

m0_52180274的博客 2258

最新扣子(coze)案例:在coze上用DeepSeek+私有数据库、知识库,创建你的专属智能体

Gartner预测,到2026年,70%的企业将通过Al知识库实现「组织记忆外化」。数字化时代,数据已成为企业发展的核心资产。我们通过人工智能将知识库从“静态存储"升级为“智能服务”。让"沉睡宝藏"焕发新生,助力企业突破数据困局。

weixin_72689845的博客 2164

四、springMVC第四节

将文件上传到阿里云的OSS文件服务器,我们可以看官方提供的阿里云文档。(1)导入官方给的依赖jar包。这里直接给你不用去找了,官网上也有 (2)代码测试 点击简单上传以后,往下找到第三个---上传文件流。可以搞一个Demo测试类,将其中的代码复制进去。 里面需要修改的几个地方: Endpoint:复制这个地址:在你的OSS的backet中找到你要存储的文件夹,点进去。然后点击概述,找到这个网址,复制到Endponit中。 accessKeyId,ccessKeySecret

lrs998563的博客 848

C# 开发 ACS 运动控制系统:从入门到高阶应用实践

起始位置</param>/// <param name="endPos">结束位置</param>/// <param name="maxVelocity">最大速度</param>/// <param name="maxAcceleration">最大加速度</param>/// <param name="maxJerk">最大加加速度

品质生活,极致编程。 2842

Jetson工业级应用指南:用Orin NX 16GB打造多摄像头AI质检系统

本文详细介绍了如何利用NVIDIA Jetson Orin NX 16GB构建高效的多摄像头AI质检系统,涵盖硬件选型、软件优化及产线部署全流程。通过100 TOPS的AI算力和多路视频处理能力,Orin NX在工业4.0时代展现出卓越的实时缺陷检测性能,特别适合嵌入式AI应用场景。

Pepper的专栏 307

OSS异常:com.aliyun.oss.ClientException:UnknownHost

使用 oss 服务前,最好先 ping 一下 endpoint ,免得代码调试遇到麻烦

Java Punk 8386

基于立创·天猛星MSPM0G3507的简易PID电机控制入门项目实战

本文详细介绍了基于立创·天猛星MSPM0G3507开发板的简易PID电机控制入门项目实战。从硬件选型、电路设计、PCB布局,到软件编程中的编码器读取、PID算法实现与调参,手把手教你完成一个带屏幕显示的电机定速与定距控制项目,是学习嵌入式开发和经典PID控制算法的绝佳实践。

weixin_42596011的博客 510

文件上传功能

问题:在SpringBoot中,文件上传,默认单个文件允许最大大小为 1M,如果需要上传大文件,可以在application.properties进行如下配置。图片: <input type="file" name="image"/><br/><br/>但是我们需要保证类型后面的变量的名字和前端提交文件时所用的名字一致,如果不一致的话需要在前面加一个。但是我们需要保证类型后面的变量的名字和前端提交文件时所用的名字一致,如果不一致的话需要在前面加一个。我们可以借助这个来完成上传文件的功能。

a_318102020789的博客 462

电子取证之服务器取证思路

服务器取证是一个技术性很强的领域,涉及到多个环节,包括网站重构、网站代码分析、容器分析等。数据库密码的获取通常通过查看配置文件、日志文件、备份等途径,同时可以通过一些绕过技术如禁用身份验证来获取权限。对于不同的数据库,需要根据其特性采取相应的应对方法和命令。

2401_84830066的博客 2489

解决Docker拉取镜像报错:Get https://registry-1.docker.io/v2/: 报错

解决Docker拉取镜像报错: Get “https://registry-1.docker.io/v2/”: net/http: request canceled while waiting for connection问题描述Get "https://registry-1.docker.io/v2/"是docker官方的镜像源,下载很慢的,一般会自己指定国内映射的加速镜像源。

qq_33650333的博客 4172

vue 图片复制黏贴上传_用Vue来实现图片上传多种方式

没有业务场景的功能都是耍流氓,那么我们先来模拟一个需要实现的业务场景。假设我们要做一个后台系统添加商品的页面,有一些商品名称、信息等字段,还有需要上传商品轮播图的需求。我们就以Vue、Element-ui,封装组件为例子聊聊如何实现这个功能。其他框架或者不用框架实现的思路都差不多,本文主要聊聊实现思路。1.云储存常见的 七牛云,OSS(阿里云)等,这些云平台提供API接口,调用相应的接口,文件上传...

weixin_42515841的博客 1566

【2026年华为暑期实习/秋招(AI)-8月5日-第一题- 选择题】(题目+思路+Java&C++&Python解析+在线测试)

摘要: 本文包含20道选择题,涵盖深度学习、数值计算、概率统计、线性代数及机器学习等领域。重点考察了Softmax的数值稳定性实现(减去最大值)、视觉问答任务(图像+问题→答案)、分层强化学习的奖惩计算、欧氏距离与余弦相似度、反向传播梯度计算、SVD降维存储优化、贝叶斯概率推断、插值多项式等。此外,涉及逻辑回归评价指标(不含MSE)、端侧推理内存因素(中间激活)、集中趋势度量(均值)、Householder变换性质、早期停止正则化、梯度矩阵秩与优化、在线学习特性及大模型训练技巧(如学习率预热、梯度裁剪)等知

m0_73659489的博客 192

阿里云OSS与IOT使用详解

本文详解介绍了文件上传相关内容,包括本地存储和阿里云OSS技术,以及阿里云IOT的使用和Apache Qpid入门。

qq_49474843的博客 2775

【FPGA教程案例100】深度学习1——基于CNN卷积神经网络的手写数字识别纯Verilog实现,使用mnist手写数字数据库

MNIST 数据库有一个 60,000 示例的训练集,还有一个 10,000 示例的测试集。这些数字已在大小方面规范化,在固定大小的图像中居中。如下图所示:我们任意选择0~9是个数字,将其转化为数字:0_0.txt1_0.txt2_0.txt3_0.txt4_0.txt5_0.txt6_0.txt7_0.txt8_0.txt9_0.txt。

FPGA/MATLAB学习教程/源码/项目合作开发 7830

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

cloudreve 使用阿里云 oss 和 cdn 加速

我们已经介绍过 如何在一台Linux服务器上部署Cloudreve程序 ,以及 如何部署阿里云的OSS以及配套的CDN 现在我们尝试将两者结合起来,将阿里的OSS挂载到cloudreve上,并且使用CDN降低OSS的宽带费用。 Let's do it! 首先我们打开Cloudreve的设置面板 找到储存策略,点击添加储存策略,选择阿里云OSS 根据你所申请的bucket储存桶的具体信息填入,基本信息可以在Bucket的主页找到。注意 endpoint 需要填入外网的域名。 .

qq_31269061的博客 2337

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Typora+PicGo+阿里云OSS搭建博客图床(超详细)

本篇博客详细介绍了为什么需要搭建博客图床,以及Typora+Picgo+阿里云OSS图床的搭建方法。

慕雪华年的博客 1万+

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

springboot整合OSS阿里云上传文件(上传回调方式)

文章目录一、阿里oss服务的开通小编说几个注意点1、开启oss端的跨域步骤如下2、权限的读写配置3、创建子AccessKey二、如何从文档入手编程三、小编的案例是服务端签名直传并设置上传回调3.1、什么意思?3.2、pom文件引入依赖3.3、在application.yml配置相关的数据3.4、创建OSSController生成密钥3.5、配置跨域3.6、目录结构3.7、测试生成密钥的接口四、前端使用4.1、说明4.2、页面效果4.3、完整页面代码4.4、上传效果4.4、如何显示图片五、如何清理oss上面不

suqinyi的博客 4251

Typora+PicGo+阿里云OSS搭建博客图床

图床一般是指储存图片的服务器,有国内和国外之分。国外的图床由于有空间距离等因素决定访问速度很慢影响图片显示速度。国内也分为单线空间、多线空间和cdn加速三种。在我们往typora里插入图片的时候,PicGO会自动上传图片到图床,并返回一个图片的链接这时候你的图片就是一个网络的链接(网址),不再是本地路径。你也可以在任何有网络的地方、用任何设备访问这张图片了即便是本地的那张图片移动或者删除,也不会影响图床里的这张图片Markdown本地文件里面的图片也就不会失效了!

分享思想,留下痕迹。 1309

手把手教你Typora图床配置(PicGo+阿里云OSS/腾讯云COS)

本文目录❤️Typora + PicGo +阿里云OSS图床 / 腾讯云COS图床配置思路❤️✨安装PicGo配置Typora(非常详细)第一步:安装PicGo第二步:配置Typora✨云服务1:阿里云OSS搭建图床(非常详细)第一步:开通阿里云对象存储第二步:创建bucket第三步:创建AccessKey第四步:了解收费标准第五步:配置PicGo✨云服务2:腾讯云COS搭建图床(非常详细)第一步:购买腾讯云对象存储第二步:创建桶并配置第三步:申请密钥第四步:获取其他配置信息第五步:配置PicGO✨Typo

请你喝杯Java 1万+

访问服务器 request.getheader(origin)为null_Spring Boot整合阿里OSS文件储存服务器详细教程...

一、准备工作开发工具idea,jdk1.8,测试工具 postman 注册阿里云服务器并创建oss储存库,创建Spring boot空项目二、引入pom.xml org.springframework.boot spring-boot-starter-web com.aliyun.oss ...

weixin_39638859的博客 792

【阿里云高校计划】Day3 RDS数据库与OSS对象储存

RDS RDS产品概要 目标 可根据业务需求进行弹性管理 将耗时耗力的数据库管理承担下来,使用户专心开发 可靠性保证 RDS基本信息 RDS for MySQL版本融入了RDS DBA团队的补丁 推荐使用InnoDB数据引擎,支持事务。 RDS的功能 专业的数据库管理平台DMS 轻松实现数据回溯 专业的数据库优化建议 如何优化SQL语句,让sql更快 完善的监控体系 支持报警阈值 RDS与自建数据库对比 RDS的相关概念 RDS实例 各实例之间相互独立 同一实例中的数据库资源共享 实例是阿里云

weixin_42779606的博客 334

用DzzOffice管理阿里云OSS

在DzzOffice中分两种方式管理阿里云OSS 1、把阿里云oss作为多人或企业的共享网盘使用。 2、接入个人的阿里云oss管理,可同时管理多个bucket,多个bucket之间可以互传文件。 下面先介绍第一种方式,OSS多人用作网盘使用。 首先打开DzzOffice开始菜单,在应用列表中打开”云设置和管理“应用  打开后界面如下 先确保要使用

nabi123的专栏 2166

突破测试环境文件上传带宽瓶颈!React Native 阿里云 OSS 直传文件格式问题攻克二

我们对服务端和阿里云oss的配置及前端调用做了简单的介绍,但是一直报错。最终判断是文件格式问题,通常我们在reactnative中用formData上传,这里的file是文件的本地路径,如"file://android_asset/文件名",这里注意file://在安卓选择后并没有,需要我们来进行添加。但事实证明这里并不能直接通过路径上传,而是需要对文件进行处理,转为二进制数据,我们这里选择的是'rn-fetch-blob'库。

老猿阿浪的博客 1004

android 阿里云oss上传

购买了阿里云的oss空间,于是用它来存储图片,不过中间的使用算是出了些问题,导致很长的才成功。 不得不说,阿里云文档真的是无力吐槽。。。乱七八糟的。我完全是东拼西凑,才完成的图片上传功能。 走了很多的弯路,今天来记录下。 服务器上传:  阿里云上传分服务器上传和客户端上传,首先要分清,因为两边有差别的,服务器的上传简单很多,官方给的下载下来,输入配置的参数accessKeyId 和 access...

weixin_34054866的博客 853
上一篇: 让我们用mavon-editor开发博客系统
下一篇: webpack打包项目实战。看我怎么分项目管理
Java_chaozi
博客等级 码龄11年 11粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值