zoukankan      html  css  js  c++  java
  • Rop 文件上传解决思路

    由于服务请求报文是一个文本,无法直接传送二进制的文件内容,因此必须采用某种
    转换机制将二进制的文件内容转换为字符串。Rop 采用如下的方式对上传文件进行编码:
    <fileType>@<BASE64( 文件内容 )>
    <fileType>代表文件类型,文件内容采用 BASE64 算法进行编码,这样二进制的文件
    内容就可以转换为一个字符串,两者“@”字符分隔。服务端接收到上传的文件后,即可
    解析出文件的类型和文件的内容。
    Rop 定义了一个 UploadFile,代表一个上传的文件,来看一下 UploadFile 的定义:

    package com.rop.request;
    import com.rop.annotation.IgnoreSign;
    import org.springframework.util.FileCopyUtils;
    import java.io.File;
    import java.io.IOException;
    @IgnoreSign ①
    public class UploadFile {
      private String fileType;
      private byte[] content;
      public UploadFile(String fileType, byte[] content) {
        this.content = content;
        this.fileType = fileType;
      }
      public UploadFile(File file) {
        try {
          this.content = FileCopyUtils.copyToByteArray(file);
          this.fileType = file.getName().substring(file.getName().lastIndexOf('.')+1);
          } catch (IOException e) {
            throw new RuntimeException(e);
          }
      }
      public String getFileType() {
        return fileType;
      }
      public byte[] getContent() {
        return content;
      }
    }
  • 相关阅读:
    ResourceBundle读取utf-8格式properties 中文乱码
    jquery checkbox选中
    扩展RBAC用户角色权限设计方案<转>
    Java调用doNet webService方法
    Mybatis批量更新<转>
    Json转list,两种包,两种方式
    win8.1 64位安装oracle10g客户端心得
    关于JXL读写以及修改EXCEL文件<转>
    Oracle主表列表上显示从表字段拼成的字符串
    ExtJS获取Grid的行数
  • 原文地址:https://www.cnblogs.com/smile361/p/4435189.html
Copyright © 2011-2022 走看看