发表于: 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;
}


明天计划的事情:

继续任务。
遇到的问题:

自己思维的僵化。
收获:

嗯。要学会换角度思考问题。


返回列表 返回列表
评论

    分享到