上传工具
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.util.Properties;
import com.netease.cloud.ClientConfiguration;
import com.netease.cloud.auth.BasicCredentials;
import com.netease.cloud.auth.Credentials;
import com.netease.cloud.services.nos.NosClient;
import com.netease.cloud.services.nos.model.ObjectMetadata;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.titan.socialtools.common.utils.Conf;
public class NosWriter {
private static final Logger logger = LoggerFactory.getLogger(NosWriter.class);
//objectName : 文件名, content :文本内容
public static void write(String objectName, String content) {
String endpoint = "";
String accessKey = "";
String secretKey = "";
String bucketName = "";
Properties p = null;
try {
//conf目录下的nos.properties配置文件
p = Conf.getProperties("conf/nos.properties");
endpoint = p.getProperty("NOS.endpoint");
accessKey = p.getProperty("NOS.accessKeyId");
secretKey = p.getProperty("NOS.accessKeySecret");
bucketName = p.getProperty("NOS.bucket");
} catch (IOException e) {
// TODO Auto-generated catch block
logger.error("获取配置文件错误", e);
}
Credentials credentials = new BasicCredentials(accessKey, secretKey);
ClientConfiguration conf = new ClientConfiguration();
// 设置 NosClient 使用的最大连接数
conf.setMaxConnections(200);
// 设置 socket 超时时间
conf.setSocketTimeout(10000);
// 设置失败请求重试次数
conf.setMaxErrorRetry(2);
// 如果要用 https 协议,请加上下面语句
NosClient nosClient = new NosClient(credentials,conf);
nosClient.setEndpoint(endpoint);
//设置流的长度,你还可以设置其他文件元数据信息
//objectMetadata.setContentLength(streamLength);
try {
ObjectMetadata objectMetadata = new ObjectMetadata();
nosClient.putObject(bucketName,"txtfile/" + objectName + ".txt", new ByteArrayInputStream(content.getBytes()),objectMetadata);
}catch (Exception e){
System.out.println(e.getMessage());
}
}
//测试
public static void main(String[] args) {
System.out.println(System.currentTimeMillis());
write("文件名称","文本内容");
System.out.println(System.currentTimeMillis());
}
}
conf目录下的nos.properties配置文件
NOS.endpoint=*
NOS.accessKeyId=*
NOS.accessKeySecret=*
NOS.bucket=*