Sae 上传文件到Storage

原创 2015年07月09日 17:24:10

首先说一下几个地方:

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();
				}
			}
		}



使用新浪SAE平台的Storage存储,如何将存入的数据,下载到本地。爬坑之旅。

使用新浪sae搭建了个创业的网站,发现依赖平台性有点强,就琢磨把数据库里的东西和Storage中的东西先挪出来,考虑单独使用自己的服务器运行。 本想着进入新浪SAE项目控制台,没想到数据库导出文件进行...

图片上传至数据库(新浪云)的方法

在程序开发中,经常会遇到上传图片的问题,那么,下面的一段代码可以帮助你将图片上传至服务器(本篇代码用的服务器是新浪云的SAE,服务器端的代码是用thinkPHP编写,会在后面贴出)。        ...

如何使用SAE的Storage

Storage在里面当然可以创建文件夹,只不过无法通过代码创建,而是在后台管理页面中的storage来创建的。下面这个例子演示了如何读取Storage中的文件: 注:我的domain叫做mytest...

Django在新浪SAE中使用storage服务实现文件上传保存

上周末迁移mezzanine到SAE   http://mezzanine.sinaapp.com/ 见上一篇-  Django开源项目mezzanine迁移SAE分享   http://b...
  • wklken
  • wklken
  • 2012年06月08日 00:03
  • 19598

【ThinkPHP学习】ThinkPHP upload与SAE storage结合,实现文件上传

RT. 我的版本是ThinkPHP

【ThinkPHP学习】ThinkPHP结合KindEditor SAE storage上传文件图片

RT. 最近将我的使用thinkphp开发的项目yi

SAE-上传本地图片到SAE的Storage(php版)

新浪的SAE处于安全期间,不支持直接将本地文件上传的SAE。   也就是无法通过选择文件按钮选择本地的文件,点击提交之后,文件不能成功提交到SAE云服务器的,那怎么办哪??需要通过SAE提...

sae上传文件

  • 2015年10月28日 17:16
  • 910KB
  • 下载

django【本地导出的sql文件上传到SAE出现错误】

本文的实例是: 本地mysql导出的sql文件导入到SAE的phpmyadmin中出现问题 解决方法: 在mysql-workbench中操作,导出sql时把下面第一个钩去掉 ...

Spring Boot实战之文件上传存入Azure Storage

Spring Boot实战之文件上传存入Azure Storage 本章介绍,文件上传及文件上传至Azure的流程,以上传图片为例 1、本章与Azure的交互使用到Azure storage相关的...
  • sun_t89
  • sun_t89
  • 2016年07月19日 15:37
  • 2787
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Sae 上传文件到Storage
举报原因:
原因补充:

(最多只允许输入30个字)