当前位置: 首页 > wzjs >正文

网站公司用什么软件做网站网站推广系统方案

网站公司用什么软件做网站,网站推广系统方案,php做的卖水果网站有哪些,java服务器端开发是网站开发吗如果不想将 Excel 文件保存到本地,而是希望直接将输出流上传到云存储(如阿里云OSS、腾讯云COS、七牛云等),可以采用以下方法: 文章目录 1. 创建内存中的 Excel 输出流2. 上传到云存储的通用方法3. 具体云服务实现示例…

如果不想将 Excel 文件保存到本地,而是希望直接将输出流上传到云存储(如阿里云OSS、腾讯云COS、七牛云等),可以采用以下方法:
在这里插入图片描述

文章目录

  • 1. 创建内存中的 Excel 输出流
  • 2. 上传到云存储的通用方法
  • 3. 具体云服务实现示例
    • 阿里云OSS实现
    • 腾讯云COS实现
    • 完整使用示例
  • 4. 注意事项
    • ​​内存管理​​:
    • 云存储配置​​:
    • 性能优化​​:
    • ​​错误处理​​:
    • 安全考虑​​:

1. 创建内存中的 Excel 输出流

import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.ByteArrayOutputStream;
import java.io.IOException;public class ExcelCloudUploader {public static byte[] createExcelInMemory(List<List<Object>> data) throws IOException {try (Workbook workbook = new XSSFWorkbook();ByteArrayOutputStream bos = new ByteArrayOutputStream()) {Sheet sheet = workbook.createSheet("Sheet1");// 填充数据到sheet...for (int i = 0; i < data.size(); i++) {Row row = sheet.createRow(i);List<Object> rowData = data.get(i);for (int j = 0; j < rowData.size(); j++) {Cell cell = row.createCell(j);Object value = rowData.get(j);// 设置单元格值...}}workbook.write(bos);return bos.toByteArray();}}
}

2. 上传到云存储的通用方法

import java.io.ByteArrayInputStream;public class CloudStorageService {public static String uploadToCloud(byte[] fileData, String fileName) {try (ByteArrayInputStream bis = new ByteArrayInputStream(fileData)) {// 这里使用具体的云存储SDK// 以下是伪代码,实际实现取决于您使用的云服务// 阿里云OSS示例// OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);// ossClient.putObject(bucketName, fileName, bis);// ossClient.shutdown();// 腾讯云COS示例// COSClient cosClient = new COSClient(new BasicCOSCredentials(secretId, secretKey), //     new ClientConfig(new Region(regionName)));// ObjectMetadata metadata = new ObjectMetadata();// metadata.setContentLength(fileData.length);// PutObjectRequest request = new PutObjectRequest(bucketName, fileName, bis, metadata);// cosClient.putObject(request);// cosClient.shutdown();// 七牛云示例// Auth auth = Auth.create(accessKey, secretKey);// UploadManager uploadManager = new UploadManager();// Response response = uploadManager.put(bis, fileName, auth.uploadToken(bucketName));return "https://your-cloud-domain.com/" + fileName;} catch (Exception e) {throw new RuntimeException("上传到云存储失败", e);}}
}

3. 具体云服务实现示例

阿里云OSS实现

import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import java.io.ByteArrayInputStream;public class AliyunOSSUploader {private static final String endpoint = "your-oss-endpoint";private static final String accessKeyId = "your-access-key-id";private static final String accessKeySecret = "your-access-key-secret";private static final String bucketName = "your-bucket-name";public static String uploadExcelToOSS(byte[] excelData, String objectName) {OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);try (ByteArrayInputStream bis = new ByteArrayInputStream(excelData)) {ossClient.putObject(bucketName, objectName, bis);return generateFileUrl(objectName);} catch (Exception e) {throw new RuntimeException("上传到OSS失败", e);} finally {if (ossClient != null) {ossClient.shutdown();}}}private static String generateFileUrl(String objectName) {// 生成可访问的URLreturn "https://" + bucketName + "." + endpoint + "/" + objectName;}
}

腾讯云COS实现

import com.qcloud.cos.COSClient;
import com.qcloud.cos.ClientConfig;
import com.qcloud.cos.auth.BasicCOSCredentials;
import com.qcloud.cos.model.ObjectMetadata;
import com.qcloud.cos.model.PutObjectRequest;
import com.qcloud.cos.region.Region;
import java.io.ByteArrayInputStream;public class TencentCOSUploader {private static final String secretId = "your-secret-id";private static final String secretKey = "your-secret-key";private static final String regionName = "your-region";private static final String bucketName = "your-bucket-name";public static String uploadExcelToCOS(byte[] excelData, String objectName) {COSClient cosClient = new COSClient(new BasicCOSCredentials(secretId, secretKey),new ClientConfig(new Region(regionName)));try (ByteArrayInputStream bis = new ByteArrayInputStream(excelData)) {ObjectMetadata metadata = new ObjectMetadata();metadata.setContentLength(excelData.length);metadata.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");PutObjectRequest request = new PutObjectRequest(bucketName, objectName, bis, metadata);cosClient.putObject(request);return cosClient.getObjectUrl(bucketName, objectName).toString();} catch (Exception e) {throw new RuntimeException("上传到COS失败", e);} finally {if (cosClient != null) {cosClient.shutdown();}}}
}

完整使用示例

public class ExcelCloudExportExample {public static void main(String[] args) {try {// 1. 准备数据List<List<Object>> data = prepareData();// 2. 在内存中创建Excelbyte[] excelData = ExcelCloudUploader.createExcelInMemory(data);// 3. 上传到云存储String fileName = "export_" + System.currentTimeMillis() + ".xlsx";// 选择一种云服务上传String fileUrl = AliyunOSSUploader.uploadExcelToOSS(excelData, fileName);// 或// String fileUrl = TencentCOSUploader.uploadExcelToCOS(excelData, fileName);System.out.println("Excel文件已上传,访问地址: " + fileUrl);} catch (Exception e) {e.printStackTrace();}}private static List<List<Object>> prepareData() {// 返回要导出的数据List<List<Object>> data = new ArrayList<>();// 添加表头data.add(Arrays.asList("ID", "姓名", "部门", "薪资"));// 添加数据行data.add(Arrays.asList(1, "张三", "技术部", 15000.00));data.add(Arrays.asList(2, "李四", "市场部", 12000.00));return data;}
}

4. 注意事项

​​内存管理​​:

对于大文件,考虑使用 SXSSFWorkbook 替代 XSSFWorkbook可以设置 ByteArrayOutputStream 的初始大小以减少扩容次数

云存储配置​​:

敏感信息(accessKey等)应该通过配置中心或环境变量获取考虑使用临时安全令牌(STS)提高安全性

性能优化​​:

可以并行处理数据生成和上传过程对于频繁操作,重用云存储客户端(但要注意线程安全)

​​错误处理​​:

添加重试机制应对网络波动记录详细的错误日志

安全考虑​​:

为上传的文件设置适当的ACL权限考虑对敏感数据在传输过程中加密
通过这种方式,您可以完全避免在本地生成临时文件,直接将Excel数据流式上传到云存储服务。

http://www.dtcms.com/wzjs/107213.html

相关文章:

  • 如何通过复制代码做网站网络推广和运营的区别
  • 网站注册平台怎么注册推广营销企业
  • 网站开发定制多少钱百度竞价排名是以什么形式来计费的广告?
  • 做个网站找别人做的吗十大营销策划公司排名
  • 网页设计代码html基本框架代码aso优化怎么做
  • 学做网站论坛免费友情链接
  • 文登 网站建设运营推广seo招聘
  • 网站关键字设置格式怎么注册自己的网站域名
  • 网站建设的基本特点湖南企业网站建设
  • wordpress清理网站缓存泉州全网营销优化
  • 厦门网站优化广州网络营销的推广
  • 网站地图咋做苏州网站建设费用
  • 网站建设公司网站建设介绍ppt
  • 怎么做网站关键词视频友情链接买卖代理
  • 有点子外包做网站会不会被盗窃网站外链出售
  • 住建部官方网站seo的工作流程
  • 云南网站制作案例google高级搜索
  • 家乐福网上商城app官方下载seo流量排名软件
  • wordpress相册打造的视频弹出常州seo外包
  • 加盟网站建设网上交易平台
  • 网站怎么做扫码微信支付接口2022今天刚刚发生地震了
  • 中山视角做网站的公司sem账户托管外包
  • 国外网站有哪些平台今日冯站长之家
  • 网站建设工作室怎么接单seoyoon
  • 网站开发 cms广州seo团队
  • 一级a做爰片视频网站灰色关键词怎么做排名
  • 永久免费的ppt网站近三天的国内外大事
  • 招标网站靠谱吗郑州网站优化外包
  • wordpress读取文章样式seo课程哪个好
  • 网站建设的一般步骤包含哪些seo外包公司兴田德润