import com.alibaba.fastjson.JSONObject;
import com.qiniu.common.QiniuException;
import com.qiniu.common.Zone;
import com.qiniu.http.Response;
import com.qiniu.storage.Configuration;
import com.qiniu.storage.UploadManager;
import com.qiniu.util.Auth;
import org.springframework.web.multipart.MultipartFile; import java.io.*;
import java.util.*; public class HBYAppUtils { //设置好账号的ACCESS_KEY和SECRET_KEY
String ACCESS_KEY = "yKD4YcCSflBrGuSzbt0nfN3b2S8DFb8SYDXBUrOZ";
//这两个登录七牛 账号里面可以找到
String SECRET_KEY = "s6R_cGNQwo-NrBy4_vennXPlhB2iOq7sUA46AV9y";
//要上传的空间
String bucketname = "ecloud-app-files";
//对应要上传到七牛上 你的那个路径(自己建文件夹 注意设置公开)
// 上传到七牛后保存的文件名
// String key = "123.html";
//上传文件的路径
// String FilePath = "C:\\Users\\沐白\\Desktop\\肺炎疫情武汉加油.html";
//本地要上传文件路径   /*
    普通上传
    multipartFile : form表单传过来的文件,
    key: 文件名
  */
public String upload(MultipartFile multipartFile,String key) throws IOException{
// 密钥配置
Auth auth = Auth.create(ACCESS_KEY,SECRET_KEY);
//创建上传对象
Configuration configuration = new Configuration(Zone.zone0());
UploadManager uploadManager = new UploadManager(configuration); String result = "";
FileInputStream inputStream=(FileInputStream)multipartFile.getInputStream();
byte[] uploadBytes = new byte[inputStream.available()];
ByteArrayInputStream byteInputStream=new ByteArrayInputStream(uploadBytes);
try {
//调用put方法上传
Response res = uploadManager.put(byteInputStream,key,auth.uploadToken(bucketname),null, null);
//打印返回的信息
result = key;
} catch (QiniuException e) {
e.printStackTrace();
// 请求失败时打印的异常的信息
result = "no";
}
return result; } //流获取输入的搜索关键字同行一行的语句
public static ArrayList<String> isContainContent(String url, String keyWord) throws Exception{
File pathname = new File(url);
ArrayList<String> jsonObjects = new ArrayList<>();
JSONObject jsonObject = new JSONObject();
boolean result = false;
//行读取
LineNumberReader lineReader = null;
InputStreamReader read = new InputStreamReader(new FileInputStream(pathname), "gbk");
lineReader = new LineNumberReader(read);
String readLine = null;
while((readLine =lineReader.readLine()) != null){ //判断是否包含
if(readLine.contains(keyWord)) {
// result = true;
// jsonObject.put("lineWords",readLine);
// jsonObject.put("lineNumber", lineReader.getLineNumber());
jsonObject.put("pathname",pathname);
jsonObjects.add(readLine);
}
}
//关闭流
if(lineReader != null){
try {
lineReader.close();
} catch (IOException e) {
e.printStackTrace();
// lineReader = null;
}
}
// jsonObject.put("flag", result);
return jsonObjects;
}

java 上传文件到七牛云中的更多相关文章

  1. PHP上传文件到七牛(Qiniu)

    上传文件到七牛最简单的方式就是使用七牛官方最新的SDK 安装PHP SDK composer require qiniu/php-sdk 上传文件到七牛 use Qiniu\Auth; use Qin ...

  2. Android开发(二十五)——Android上传文件至七牛

    设置头像: Drawable drawable = new BitmapDrawable(dBitmap); //Drawable drawable = Drawable.createFromPath ...

  3. Flask实战第57天:UEditor编辑器集成以及配置上传文件到七牛

    相关链接 UEditor:http://ueditor.baidu.com/website/​ 下载地址:http://ueditor.baidu.com/website/download.html# ...

  4. c++使用http协议上传文件到七牛云服务器

    使用c++ http协议上传文件到七牛服务器时,比较搞的一点就是header的设置: "Content-Type:multipart/form-data;boundary=xxx" ...

  5. 利用ThinkPHP自带的七牛云驱动上传文件到七牛云以及删除七牛云文件方法

    一.准备工作 1.注册七牛云账号 2.选择对象储存->创建空间->设置为公开 3.在config配置文件中添加以下代码 'UPLOAD_FILE_QINIU' => array ( ...

  6. RN 上传文件到以及上传文件到七牛云(初步)

    本文将介绍: 如何使用原生 Javascript 上传文件 如何使用七牛云 SDK 上传文件到七牛云 在 App 中文件上传是一个非常重要的需求,但是翻遍 React Naitve 的官方文档没有发现 ...

  7. SpringSpringBoot上传文件到七牛云

    准备工作 maven pom.xml添加七牛云的sdk依赖 <dependency> <groupId>com.qiniu</groupId> <artifa ...

  8. 使用Qiniu-JavaScript-SDK上传文件至七牛云存储

    一.Qiniu-JavaScript-SDK介绍 基于 JS-SDK 可以方便的从浏览器端上传文件至七牛云存储,并对上传成功后的图片进行丰富的数据处理操作. JS-SDK 兼容支持 H5 File A ...

  9. Java上传文件FTP服务器代码

    1. 在实际的应用重,通常是通过程序来进行文件的上传. 2. 实现java上传文件到ftp服务器中 新建maven项目 添加依赖 <dependency> <groupId>c ...

随机推荐

  1. vscode打开文件,中文显示乱码(已解决)

    之前使用vscode打开keil的文件后,发现显示乱码,网上查找资料发现大多是这种方法:将files.autoGuessEncoding改为true,但是并没有用. 发现第二种方法为:在vscode中 ...

  2. Oracle 数据库 回滚

    1.打开Flash存储的权限ALTER TABLE authorization ENABLE row movement ;2.把表还原到指定时间点flashback table authorizati ...

  3. Java支付宝PC网站支付功能开发(详细教程)

    一.前言 本案例使用的是Java实现的.使用支付宝的沙盒环境示例.发布需要换成正式环境.这里就不作详细说明了 本代码适合用来做参考,不要直接复制去使用. 没有账号的需要去平台注册一个: 登录支付宝开发 ...

  4. C陷阱与缺陷学习笔记

    导读 程序是由符号(token)序列所组成的,将程序分解成符号的过程,成为"词法分析". 符号构成更大的单元--语句和声明,语法细节最终决定了语义. 词法陷阱 符号(token)指 ...

  5. hdu 1159求最长公共子序列

    题目描述:给出两个字符串,求两个字符串的公共子序列(不是公共子串,不要求连续,但要符合在原字符串中的顺序) in: abcfbc abfcab programming contest abcd mnp ...

  6. HDU6395 Sequence(矩阵快速幂+数论分块)

    题意: F(1)=A,F(2)=B,F(n)=C*F(n-2)+D*F(n-1)+P/n 给定ABCDPn,求F(n) mod 1e9+7 思路: P/n在一段n里是不变的,可以数论分块,再在每一段里 ...

  7. Python实现IOC控制反转

    思路: 用一个字典存储beanName和资源 初始化时先将beanName和资源注册到字典中 然后用一个Dscriptor类根据beanName动态请求资源,从而实现控制反转 # -*- coding ...

  8. 07-HTML&CSS

    今日知识 1. HTML表单标签 2. CSS 3.总结 表单标签 * 表单: * 概念:用于采集用户输入的数据的.用于和服务器进行交互. * form:用于定义表单的.可以定义一个范围,范围代表采集 ...

  9. 校招必看硬核干货:C++怎么学才能进大厂

    目录 关于小猿 如何找资料 自我定位 岗位需求 学习路线及时间安排 资料获取方式 C++语言在历史舞台上出现了不短的时间,虽然一直面临着Python,Go等新语言的挑战,但它在基础架构和大型软件上的优 ...

  10. debian 安装xz 命令

    # apt install -y xz-utils # xz -d Python-3.6.8.tar.xz # xz -d Python-3.6.8.tar.xz