`
zcw_java
  • 浏览: 303789 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

org.springframework.web.multipart.MultipartFile以及类型记录

 
阅读更多
接口需求是Android/iPhone需要通过接口上传一些文件,例如图片,jar包,rar压缩包,视频,音乐...等!困扰我这个菜鸟很久,整理一下!!分享给同我一样的菜鸟

后台需要处理这些数据,之前没有接触过!但类似的FileUpLoad的插件用过,其实原理差不多,因为计算机原始数据都是01代码,所以只要将这些文件保存成二进制就可以,数据库(mysql),最大4G!!
问题1,如果实现!联调之后共享代码.
问题2,为什么要转为2进制,不直接把上传的文件放在服务器上!
我也请教了别人,首先放在服务器上会很乱,不方便维护!管理不方便,优点当然是不占用数据库资源了(很多时候软件的瓶颈就是数据库的优化).
至于2进制,当然放在数据库里很方便维护,管理!移植,都只需要SQL语句都可以完成,但有个重点是性能问题(内存的占用),如果使用Hibernate的话,需要用懒加载,这样可以保证性能不会很操蛋.
select * from table where id=1
from table where id=1
貌似两个功能是一样的,但是用了懒加载第二个也许在加载数据更快,至于为什么去了解一下懒加载吧!!
问题3,如何选择呢!
如果经常需要访问这个资源,那就直接用文件的形式,缓存资源!!如果不是经常使用可以用二进制.如果你有不同看法,请赐教!!

代码实现!整理中...
public static void main(String[] args) throws Exception {
		/**
		 * 将字符串转换为二进制
		 */
		String str1 = "我是赵昌文";				//需要转换的字符串
		byte[] bys = str1.getBytes("UTF-8");	//将字符串转换为byte数组(GBK...等)
		//用来保存UTF-8的byte数据
		StringBuffer sb = new StringBuffer();
		//用来保存二进制
		StringBuffer sb1 = new StringBuffer();
		
		//遍历byte的数据(跟转换无关)
		for(int j=0;j<bys.length;j++){
			//(j+1)这样在第二次循环j从1开始,j本身不参与("运算"---字符串拼接),可以写j+1试试
			//System.out.println("byte(UTF-8)第"+(j+1)+"个"+bys[j]+"转为二进制"+Integer.toBinaryString(bys[j]));		
			sb.append(bys[j]+",");
			sb1.append(Integer.toBinaryString(bys[j])+",");
		}
		/**
		 * 将二进制转换回字符串
		 */
		System.out.println("UTF-8:"+sb);
		System.out.println("二进制:"+sb1);
		
//		byte[] b = {-26,-120,-111};
//		System.out.println("转换回来!!"+new String(b,"UTF-8"));	
	}

上面是自己写的一些转换,下边是上传!!
//提交资源保存
    @RequestMapping("/saveResource.aa")
    public ModelAndView saveResource(@RequestParam("fileParameter") MultipartFile file){
        map = new HashMap();
        //为false时文件不为空
        if(file.getName()!=null&&file.isEmpty()==false){
            ResourceImg resource = new ResourceImg();            
            try {
                resource.setBody(Hibernate.createBlob(file.getBytes()));
                resource.setMimeType(file.getContentType());
                resource.setName(file.getName());
                map.put("result",rm.saveResource(resource));
            } catch (IOException e) {
                e.printStackTrace();
            }
            return new ModelAndView("jsonView",map);
        }else{
            map.put("result","null");
            return new ModelAndView("jsonView",map);
        }
    }

保存图片
//将图片存到服务器
    @RequestMapping("/imageUpload.aa")
    public String processImageUpload(@RequestParam("fileParameter") MultipartFile image) throws IOException {
        FileCopyUtils.copy(image.getBytes(),new File("d:/"+image.getOriginalFilename()));
        return "imageList";
   }
分享到:
评论

相关推荐

    通过import org.springframework.web.multipart.MultipartFile;上传文件

    通过import org.springframework.web.multipart.MultipartFile;上传文件的一个工具性的jar.

    spring-web-2.5.jar

    org.springframework.web.multipart.MultipartFile.class org.springframework.web.multipart.MultipartHttpServletRequest.class org.springframework.web.multipart.MultipartResolver.class org.springframework....

    org.springframework.web的jar包.zip

    在Java开发领域,Spring框架以其强大的功能和灵活的设计闻名,而`org.springframework.web`包是Spring框架中的一个重要部分,它提供了处理HTTP请求和响应的核心工具,以及对WebSocket的支持。在本篇文章中,我们将...

    File 转 MultipartFile 和MultipartFile的maven配置

    import org.springframework.web.multipart.commons.CommonsMultipartFile; public CommonsMultipartFile convertFileToFileItem(File file) throws IOException { // 创建一个内存输入流 FileInputStream fis = ...

    详解SpringMVC使用MultipartFile实现文件的上传

    &lt;bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"&gt; &lt;property name="maxUploadSize" value="10485760" /&gt; &lt;!-- 10MB --&gt; ...

    spring-webmvc.src.zip

    5. **org.springframework.web.multipart**: 这部分处理多部分/表单数据,如MultipartFile,用于处理HTTP上传的文件。 6. **org.springframework.web.context**: 这里包含了Web应用上下文,WebApplicationContext是...

    java springboot 文件上传,多文件上传.zip

    import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.multipart.commons.CommonsMultipartResolver;...

    29. Spring boot 文件上传(多文件上传)【从零开始学Spring Boot】

    import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartHttpServletRequest; import java.util.List; @RestController public class FileUploadController ...

    Spring boot 实现单个或批量文件上传功能

    import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartHttpServletRequest; import java.util.List; @Controller public class FileUploadController { ...

    Java Spring Boot应用程序中实现文件上传和下载功能

    import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.io.File; import java.io.FileInputStream; import java.io.IOException; @...

    spring 3.0配置示例

    import org.springframework.web.multipart.MultipartFile; @Controller public class FileUploadController { @PostMapping("/upload") public String handleFileUpload(@RequestParam("file") MultipartFile ...

    SpringMVC框架实现文件的上传和下载.rar.rar

    import org.springframework.web.multipart.MultipartFile; @PostMapping("/upload") public String handleFileUpload(@RequestParam("file") MultipartFile file) { // 检查文件是否为空 if (!file.isEmpty()) {...

    Spring MVC upload/download file(注释和非注释实现)

    import org.springframework.web.multipart.MultipartFile; @Controller public class FileUploadController { @PostMapping("/upload") public String handleFileUpload(@RequestParam("file") MultipartFile ...

    spring MVC 上传 &下载

    import org.springframework.web.multipart.MultipartFile; @Controller public class FileUploadController { @RequestMapping(value = "/upload", method = RequestMethod.POST) public String ...

    SpringBoot文件上传.zip

    import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.multipart.commons.CommonsMultipartFile; ...

    springboot文件上传(支持单个和多个)

    import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.servlet.support.ServletUriComponentsBuilder...

    spring-boot-file-upload.zip

    import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.multipart.commons.CommonsMultipartFile; ...

    springboot实现邮箱发送功能

    import org.springframework.web.multipart.MultipartFile; import org.springframework.web.servlet.mvc.support.RedirectAttributes; @Controller public class MailController { @Autowired private ...

    springboot集成上传下载

    import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.servlet.mvc.support.RedirectAttributes; ...

    使用Springboot上传图片并将URL保存到数据库中

    import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.servlet.mvc.support.RedirectAttributes; ...

Global site tag (gtag.js) - Google Analytics