首先说一下几个地方:

1.上传使用ss.upload("domin域名","源地址","目标地址,也就是storage的地址");假设要上传到storage某一个详细的文件夹下目标地址写为"upload/"+filename;文件就上传到了upload文件夹下。

2.storage以下全部文件的路径是http://myapp-mybucket.stor.sinaapp.com/path/file.txt 
前面是myapp是应用的名字,这个路径能够通过

String realPath = ss.getUrl("域名", “上面的目标路径”); 就能够得到这个全网路径

3.使用commons-fileupload上传组件时,先把文件写到一个暂时路径里,然后再写回storage就好了。

以下是java代码:

<pre name="code" class="java">private void userSave(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
FileItemFactory factory=new DiskFileItemFactory();
ServletFileUpload upload=new ServletFileUpload(factory);
List<FileItem> items=null;
try {
items=upload.parseRequest(request);
} catch (FileUploadException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Iterator<FileItem> itr=items.iterator(); HttpSession session=request.getSession(); User user=(User)session.getAttribute("currentUser");
//上传到Storage之后的真是路径
String realPath=user.getImageName();
String imageName=user.getImageName();
boolean imageChange=false;
<span style="white-space:pre"> </span>while(itr.hasNext()){
<span style="white-space:pre"> </span> FileItem item=(FileItem)itr.next();
<span style="white-space:pre"> </span> if(!item.isFormField()){
<span style="white-space:pre"> </span> try{
<span style="white-space:pre"> </span> imageName=DateUtil.getCurrentDateStr();
<span style="white-space:pre"> </span> //带后缀的文件名称
<span style="white-space:pre"> </span> imageName=imageName+"."+item.getName().split("\\.")[1];
<span style="white-space:pre"> </span> user.setImageName(imageName);
<span style="white-space:pre"> </span> //String filePath=PropertiesUtil.getValue("imagePath")+imageName+"."+item.getName().split("\\.")[1];
<span style="white-space:pre"> </span> String folder=PropertiesUtil.getValue("imagePath");
<span style="white-space:pre"> </span> String filePath=session.getServletContext().getRealPath(folder)+"/"+imageName;
<span style="white-space:pre"> </span>  <span class="comment" style="margin: 0px; padding: 0px; border: none; color: rgb(0, 130, 0); font-family: Consolas, 'Courier New', Courier, mono, serif; line-height: 18px;">//前面的部分仅仅须要按正常的上传来写就能够了 filePath仅仅是一个暂时文件</span><span style="margin: 0px; padding: 0px; border: none; font-family: Consolas, 'Courier New', Courier, mono, serif; line-height: 18px;">  </span>
<span style="white-space:pre">		</span>   <span style="color:#ff0000;">item.write(new File(filePath));</span>
// 上传完成后 使用SaeStorage往storage里面写
SaeStorage ss = new SaeStorage();
// 使用upload方法上传到域domain下,此处本人的是onway
<span style="color:#ff0000;">ss.upload("onway", filePath, <span style="font-family: Consolas, 'Courier New', Courier, mono, serif; line-height: 18px; background-color: rgb(248, 248, 248);">"upload/"</span>+imageName);</span>
// 获取上传后的图片路径
realPath = <span style="color:#ff0000;">ss.getUrl</span>("onway", <span style="color: rgb(0, 0, 255); font-family: Consolas, 'Courier New', Courier, mono, serif; line-height: 18px; background-color: rgb(248, 248, 248);">"upload/"</span>+imageName);
// System.out.println(realPath);
}catch(Exception e){
e.printStackTrace();
}
}
}

最新文章

  1. mssql 2008 复制订阅
  2. Android无线调试及手机设备与PC同屏工具——Chrome插件Vysor
  3. 严重: Error configuring application listener of class org.springframework.web.context.ContextLoaderListener
  4. 2014年5月份第2周51Aspx源码发布详情
  5. c++中二进制和整数转化
  6. [NOI 2014]做题记录
  7. DataTable常用操作
  8. PHP生成条形码
  9. 重置mysql密码
  10. C#线程篇---Task(任务)和线程池不得不说的秘密(5)
  11. Delphi 7下使用Log4Delphi 0.8日志组件
  12. 团队作业4---第一次项目冲刺(ALpha版本)第一天
  13. Masonry框架源码深度解析
  14. ArcGIS 网络分析[2.2] 服务区分析
  15. ASP.NET Core MVC 授权的扩展:自定义 Authorize Attribute 和 IApplicationModelProvide
  16. [BZOJ 4817] [SDOI 2017] 树点涂色
  17. yii2 部分很实用的代码
  18. spring注解第05课 FactoryBean
  19. jmeter connection reset解决方法
  20. Cassandra基础

热门文章

  1. 基于u-boot源码的简单shell软件实现
  2. delphi xe5 android 开发数据访问手机端(二)
  3. 推荐几款jQuery表格插件
  4. [ecmall]Ecmall 后台添加模板编辑区
  5. 一个简单的DDraw应用程序
  6. 打造属于自己的Altium Designer 3D封装库,不需要懂专门的三维设计软件
  7. MySQL优化器cost计算
  8. C#简单多线程使用(同步和优先权)
  9. JAVA 文件下载乱码问题解决办法
  10. [C# 网络编程系列]专题九:实现类似QQ的即时通信程序