发表于: 2018-02-03 17:04:13

1 548


今天完成的事情

 1.向项目中引入七牛云

这个狗东西真的难弄,所获引入不了,耗费我起码5个小时,期间各种方法都尝试过,仍然不行,最后将pom文件中添加的依赖挪动了下位置,他就能引进来了???????我真的是日了哈士奇了,什么贵问题,什么坑爹的情况?

  那这个过程就先不说了。。。。玄学

2.开始尝试跑个Demo,但是又出现了新的错误:

传一下自己的工具类:

import com.google.gson.Gson;
import com.qiniu.common.QiniuException;
import com.qiniu.common.Zone;
import com.qiniu.http.Response;
import com.qiniu.storage.Configuration;
import com.qiniu.storage.UploadManager;
import com.qiniu.storage.model.DefaultPutRet;
import com.qiniu.util.Auth;
import org.apache.log4j.Logger;




public class QiNiuUpLoad {


public static void main(String[] args) {
Logger logger = Logger.getLogger(QiNiuUpLoad.class);
       logger.info("进入到七牛云上传方法。");
       try {
           //构造一个带指定Zone对象的配置类
           Configuration cfg = new Configuration(Zone.zone1());
           //...其他参数参考类注释
           UploadManager uploadManager = new UploadManager(cfg);
           //...生成上传凭证,然后准备上传
           String accessKey = "ArY-MmzkDOvkGPPrYDX5OBGjLEA_jYJSp4osbH7i";
           String secretKey = "Y5ZK5A6OarxPcSzT2yqYiUltW9KSrNKLhuhasjT7";
           String bucket = "pictures";
           //如果是Windows情况下,格式是 D:\\qiniu\\test.png
           String localFilePath ="D\\2.jpg";
           //默认不指定key的情况下,以文件内容的hash值作为文件名
           String key = "head";
           Auth auth = Auth.create(accessKey, secretKey);
           String upToken = auth.uploadToken(bucket);
           try {
Response response = uploadManager.put(localFilePath, key, upToken);
               //解析上传成功的结果
               DefaultPutRet putRet = new Gson().fromJson(response.bodyString(), DefaultPutRet.class);
               System.out.println(putRet.key);
               System.out.println(putRet.hash);
           } catch (QiniuException ex) {
Response r = ex.response;
               System.err.println(r.toString());
               try {
System.err.println(r.bodyString());
               } catch (QiniuException ex2) {
//ignore
               }
}
} catch (Exception e) {
System.out.println("七牛云上传图片模块有错误");
           e.printStackTrace();
       }
}
}

  就是这样了,但是运行报错了,还不知道怎么解决这个报错:

然后仔细查看了一波,发现问题所在:

String localFilePath ="D:\\2.jpg";

这行少了:。。。。。哇  我要疯了

  然后信心慢慢地再次运行:

我的妈。。。想哭,委屈,仔细查看。。。发现好像是zone出错了:

噗。。真的是这的问题,修改这行:

Configuration cfg = new Configuration(Zone.zone0());

原来是1,改成0,运行:

妈耶,终于成功了,我的亲亲。。

3.那么接下来就是在项目中集成了:

  将上面的main方法去掉,换个皮,然后将参数改成图片的路径,以及图片上传之后的名字。

public  void pickUp(String picturepath,String head) {

然后下面的也要稍微改一下:

String localFilePath =picturepath;
//默认不指定key的情况下,以文件内容的hash值作为文件名
String key = head;

完事具备之后开始整注册界面的jsp:

<form action='${pageContext.request.contextPath}/upload' method='post'>
   <table>
       <tr>
           <td>头像上传路径:</td>
           <td><input type="text" name="picturepath"></td>
       </tr>
       <tr>
           <td><input type="submit" value="开始上传"></td>
       </tr>
   </table>
</form>
@RequestMapping(value = "/upload",method =RequestMethod.POST)
public String UpLoad(String picturepath){
QiNiuUpLoad up = new QiNiuUpLoad();
   up.pickUp(picturepath,"aaa");
   return "ok";
}

这些都正好了直接开始跑就行了

弹出这个界面,表示上传成功了。。

去七牛云看一看:

已经多了这个文件,没毛病。

4.接下来就是把账号密码归类由spring管理了。

 一顿操作猛如虎,都整好了,但是吧。。问题又出现了:

  我的配置就是这样了,全部能从配置文件取到值,但是运行之后发送短信或者邮件的时候就会这样:

上面这个是发送短信验证码的时候出现的问题,下面这个是邮件的:

一波空指针异常。。莫名其妙,我的97行代码是这样的:

email.sendMail(mail,verify);

调用工具类的发送邮件的方法。

很难受,不知到什么地方出现了问题

今天遇到的问题:

 就是上面说到的这个问题了。

今天的收获:

在项目中使用七牛云

 明天计划的事情:

 明天将上面的问题解决,然后推进任务七。


返回列表 返回列表
评论

    分享到