发表于: 2017-10-10 22:19:07

1 736


今天完成的事情:

完成了使用第三方邮箱的测试

这个sdk不用下载 自己导包

直接pom文件里面添加依赖就好 

写个主函数

public class MailTest {

public static void main(String[] args) throws IOException {
final String url = "http://api.sendcloud.net/apiv2/mail/send";
   final String apiUser = "hfismyangel_test_oVD2NO";
   final String apiKey = "KcCVOeAF6Uy698RH";

   HttpClient httpclient = new DefaultHttpClient();
   HttpPost httPost = new HttpPost(url);

   List params = new ArrayList();
   // 您需要登录SendCloud创建API_USER,使用API_USER和API_KEY才可以进行邮件的发送。
   params.add(new BasicNameValuePair("apiUser", apiUser));
   params.add(new BasicNameValuePair("apiKey", apiKey));
   params.add(new BasicNameValuePair("from", "baixiaoran@jnshu.com"));
   params.add(new BasicNameValuePair("fromName", ""));
   params.add(new BasicNameValuePair("to", "baixiaoran@jnshu.com"));
   params.add(new BasicNameValuePair("subject", "来自SendCloud的第一封邮件!"));
   params.add(new BasicNameValuePair("html", "你太棒了!你已成功的从SendCloud发送了一封测试邮件,接下来快登录前台去完善账户信息吧!"));

   httPost.setEntity(new UrlEncodedFormEntity(params, "UTF-8"));
   // 请求
   HttpResponse response = httpclient.execute(httPost);
   // 处理响应
   if (response.getStatusLine().getStatusCode() == 200) { // 正常返回,httpstatus.sc_ok为200状态码
       // 读取xml文档
       String result = EntityUtils.toString(response.getEntity());
       System.out.println(result);
   } else {
System.err.println("error");
   }
httPost.releaseConnection();
}
}

然后就能在邮箱接收到了

然后注册七牛云 同样的直接pom文件添加依赖

使用Spring配置 基本跟容联的短信一样

<bean id="fileUpload" class="com.jnshu.until.FileUploadTest">
   <constructor-arg name="ACCESS_KEY" value="${upload.accesskey}"/>
   <constructor-arg name="SECRET_KEY" value="${upload.secretkey}"/>
   <constructor-arg name="bucketname" value="${upload.bucketname}"/>
</bean>

public class FileUploadTest {
//设置好账号的ACCESS_KEY和SECRET_KEY  
   String ACCESS_KEY;//这两个登录七牛 账号里面可以找到
   String SECRET_KEY;

   //要上传的空间
   String bucketname; //填写新建的那个存储空间对象的名称
   //上传到七牛后保存的文件名  

   //上传文件的路径
    //本地要上传文件路径,windows下的文件路径是反斜杠

   //密钥配置

   //创建上传对象


   //简单上传,使用默认策略,只需要设置上传的空间名就可以了
//    public String getUpToken() {
//        return auth.uploadToken(bucketname);
//    }

   //普通上传
   public void upload(String Path,String key) throws IOException {
Auth auth = Auth.create(ACCESS_KEY, SECRET_KEY);
       UploadManager uploadManager = new UploadManager();
       try {
//调用put方法上传
           Response res = uploadManager.put(Path, key, auth.uploadToken(bucketname));
           //打印返回的信息
           System.out.println(res.isOK());
           System.out.println(res.bodyString());
       } catch (QiniuException e) {
Response r = e.response;
           // 请求失败时打印的异常的信息  
           System.out.println(r.toString());
           try {
//响应的文本信息  
               System.out.println(r.bodyString());
           } catch (QiniuException e1) {
//ignore  
           }
}
}

public FileUploadTest() {
}

public FileUploadTest(String ACCESS_KEY, String SECRET_KEY, String bucketname){
this.ACCESS_KEY=ACCESS_KEY;
       this.SECRET_KEY=SECRET_KEY;
       this.bucketname=bucketname;
   }

然后就是调用了

整体思想 先注册 注册完成了进入上传页面 过滤器过滤 /u

页面写得很low 凑活用吧

接口

 @RequestMapping("/u/upload")
public String uploadPic() {
return "userInf";
   }
@RequestMapping("/u/doupload")
public String uploadPhoto(@ModelAttribute("photoPath") String photoPath, HttpServletRequest request) {
UUID uuid = UUID.randomUUID();


       try {
fileUploadTest.upload(photoPath, uuid.toString());
           logger.debug("-----------------上传!");

           Cookie[] cookie =request.getCookies();
               for (int i = 0; i < cookie.length; i++) {
if (cookie[i].getName().equals("token")) {
try {
String token = cookie[i].getValue();
                           System.out.println("token=" + token);
//                        Base64Util.decodeData(token);
                           byte[] tk = StrConvertUtil.hexStrToByteArr(token);
                           byte[] tk1 = Des.decrypt(tk, "12121212");
                           String tk2 = new String(tk1);
                           System.out.println("cookie中的token进行解密");
                           String[] sArr = tk2.split("=");
                           String id = sArr[0];
                           String date = sArr[1];

                           mmm = id;
                       } catch (Exception e) {
e.printStackTrace();
                       }
}
}

loginService.insertPhotoService(mmm, "http://oxlwq86ze.bkt.clouddn.com/" + uuid.toString());
       } catch (IOException e) {

logger.debug("upLoadSystemException:" + e.toString());
       }
return "uploadSuccess";

上传然后根据cookie取出用户的id 把上传的路径加上生成的随机名作为上传名字

然后保存在数据库里

这个路径是七牛云给的 这里进行拼接


获取到的这个就是提供的外链


 
明天计划的事情:完善任务七并提交 开始任务八
遇到的问题:在原来的基础上 写 新增了数据库的字段 新增了接口

       新增了一些方法 写的比较乱 出现的都是小错误 

      一些拼写错误 调用错误 

      一些空指针 获取空值 debug都调试好了

收获:了解第三方api的调用

       对邮件 图片上传有了一些理解


返回列表 返回列表
评论

    分享到