发表于: 2017-12-31 23:13:25
1 508
今天完成的事情:
诸位,新年快乐!!!!!!!!!!!!!
不容易,又走过了一年。
说回正事:
自己昨天的思维陷入了僵局,为什么一定需要文件的路径,其实自己需要的只是这个文件嘛,只需要把文件转化为输入流就行了啊!!!
于是乎很简单!!!一句代码解决问题,编程这个东西还是有意思哈哈哈哈哈!!!!
//短短一句代码却困住了自己很长时间,这大概就是思维的僵化吧。以后需要换一个角度来看问题了。
@RequestMapping(value = "/upload",method = RequestMethod.POST)
public String upLoad( MultipartFile file, HttpServletRequest request, HttpServletResponse response, HttpSession session){
System.out.println("jinlaile");
// MultipartHttpServletRequest mr = (MultipartHttpServletRequest) request;
// MultipartFile mf = mr.getFile(fileName);
//String fileName1 = file.getName();
try {
InputStream input = file.getInputStream();
TestOSS.setPic(input);
System.out.println("上传完成");
System.out.println(input);
}catch (Exception e){
e.printStackTrace();
}
return "404";}
//还有一些第三方API的使用。
public static void setPic(InputStream input){
String Objectkey = "photo13.jpg";
String endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
String accessKeyId = "LTAIJS9Ubv67ENfF";
String accessKeySecret = "lD1TZCBgQpg9wNxDaWoSU82ywTPBiA";
String bucketName = "test-for-java-jnshu";
ObjectMetadata objectMeta = new ObjectMetadata();
objectMeta.setContentType("jpg");
OSSClient client = new OSSClient(endpoint, accessKeyId, accessKeySecret);
try {
System.out.println("正在上传...");
//uploadFile(client, bucketName, Objectkey, uploadFilePath);
//InputStream input = new FileInputStream(uploadFilePath);
client.putObject(bucketName, Objectkey, input, objectMeta);
//System.out.println("正在下载...");
//downloadFile(client, BUCKET_NAME, Objectkey, downloadFilePath);
}catch(Exception e){
e.printStackTrace();
}
System.out.println("完成");
}//短信发送
public static SendSmsResponse sendSms() throws ClientException {
ClassPathXmlApplicationContext context =new ClassPathXmlApplicationContext("classpath:spring.xml");
System.out.println("************"+product+"**************");
//可自助调整超时时间
System.setProperty("sun.net.client.defaultConnectTimeout", "10000");
System.setProperty("sun.net.client.defaultReadTimeout", "10000");
System.out.println( product+"******" +domain+"******" + accessKeyId+"******"+ accessKeySecret+"******");
//初始化acsClient,暂不支持region化
IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou",accessKeyId, accessKeySecret);
DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", product, domain);
IAcsClient acsClient = new DefaultAcsClient(profile);
Random r = new Random();
String code = String.valueOf(r.nextInt(999999));
System.out.println(code);
//组装请求对象-具体描述见控制台-文档部分内容
SendSmsRequest request = new SendSmsRequest();
//必填:待发送手机号
request.setPhoneNumbers("13628033150");
//必填:短信签名-可在短信控制台中找到
request.setSignName("雍金卫");
//必填:短信模板-可在短信控制台中找到
request.setTemplateCode("SMS_119092752");
//可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为
//request.setTemplateParam("{\"name\":\"Tom\", \"code\":\"code\"}");
request.setTemplateParam("{\"code\""+ ":" + "\"" + code + "\"" + "}");
System.out.println("{\"code\"" + ":" + "\"" + code + "\"" + "}" );
//System.out.println();
//选填-上行短信扩展码(无特殊需求用户请忽略此字段)
//request.setSmsUpExtendCode("90997");
//可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者
request.setOutId("yourOutId");
//hint 此处可能会抛出异常,注意catch
SendSmsResponse sendSmsResponse = acsClient.getAcsResponse(request);
return sendSmsResponse;
}
明天计划的事情:
继续任务。
遇到的问题:
自己思维的僵化。
收获:
嗯。要学会换角度思考问题。
评论