intra-mart Accel Platform 脚本开发模式编程指南 第16版2020-04-01

什么是存储

在分布式系统中使用intra-mart Accel Platform时,存储使用上载的文件或系统。
集中管理要共享的文件(主要是数据文件 )。

注解

在构建分布式系统时,必须设置一个目录,以供每个Web应用程序服务器共享。
详细内容详细信息, 详细内容安装指南。

存储类型

  • 系统存储

    该区域存储系统中使用的文件。
    它主要用于处理intra-mart Accel Platform基本API和应用程序。
  • 公共存储

    该区域存储上载的文件以及您要在用户之间共享的文件。
    将文件保存到存储时,基本上将它们保存到PublicStorage。
  • SessionScopeStorage

    该区域用于临时存储文件。
    在处理期间要临时保存上载的文件或保存的数据时使用。
    当Session过期时,存储在SessionScopeStorage中的文件将自动删除。

流媒体

intra-mart Accel Platform ,可以通过Stream处理存储在Storage中的数据。
通过使用Stream ,像传统的intra-mart WebPaltform一样,将其存储在Web应用服务器的内存中
您不再需要文件数据,并且可以上传和下载大文件。

注解

如果使用Storage API的load(),read(),save(),write()方法,则文件数据将在AP服务器的内存上扩展,这将使内存不堪重负。
因此,不建议使用这些方法。

编程方式

文件上传

这是一个将文件上传到PublicStorage中“ sample”目录的示例。
/ **
*将文件上传到publicStorage“样本”目录。
* @param请求请求Object 
* /
机能 初始化要求 {
    //获取上传的文件。
    变种 上载 = 要求getParameter“ local_file”);
    
    //获取上传文件的二进制Stream 。
    上载openValueAsBinary机能读者 {
        
        //创建一个PublicStorage Object 指定文件保存目标。
        变种 贮藏 = 新的 公共存储“样本” 上载getFileName());
        
        //生成要保存的二进制Stream 。
        贮藏createAsBinary机能作家 错误 {
            如果错误 {
                //如果无法创建目标二进制Stream ,请执行异常处理。
            } 别的 {
                //将上传的文件写入PublicStorage。
                读者transferTo作家);
            }
        });
    });
}

档案下载

这是在PublicStorage中下载文件“ sample.txt”的示例。
/ **
*将sample.txt发送到客户端。
* @param请求请求Object 
* /
机能 初始化要求 {
    变种 贮藏 = 新的 公共存储“ sample.txt”);
    如果贮藏isFile()) {
        //如果文件不存在,请执行异常处理。
    } 别的 {
        //将文件发送到客户端。
        模组资料下载发送贮藏 贮藏getName(), “文字/纯文字”);
    }
}