发表于: 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的调用
对邮件 图片上传有了一些理解
评论