`

webservice分段上传文件

    博客分类:
  • JAVA
 
阅读更多

webservice定义: <xsd:element name="attachmentPartBytes" type="xsd:base64Binary"/>

 

private void attachmentPartUpload(File file, String fileName,
            String businessId, String attrId,String fileSecurityVal) throws Exception {
        byte[] bytes = null;
        long maxSize = 1024 * 1024 * 2;
        long length = file.length();

        InputStream is = new FileInputStream(file);
        long offset = 0;
        long endIndex = 0;
        int i = 0;
        while (endIndex < length) {
            offset = i * maxSize;
            endIndex = (i + 1) * maxSize;
            if (endIndex > length) {
                endIndex = length;
            }
            int byteLen = (int) (endIndex - offset);
            bytes = new byte[byteLen];
            is.read(bytes, 0, byteLen);

            AttachmentPartUploadRequest request = new AttachmentPartUploadRequest();
            AttachmentPart attachmentPart = new AttachmentPart();
            attachmentPart.setAttachmentName(fileName);
            attachmentPart.setBusinessId(businessId);
            attachmentPart.setAttrId(attrId);
            attachmentPart.setAttachmentPartBytes(bytes);
            attachmentPart.setOffset(offset);
            attachmentPart.setIsLastPart(endIndex < length ? 0 : 1); // endIndex < length 代表上传未结束
            attachmentPart.setFileSecurityVal(fileSecurityVal);
            request.setAttachmentPart(attachmentPart);
            attachmentService.attachmentPartUpload(request);
            i++;
        }
    }

 

attachmentPartUpload

分享到:
评论

相关推荐

    WebService上传下载文件

    用webservice作为服务器端,以流的方式实现文件的上传和下载,可以自动调用winrar进行压缩和加密,支持多线程和断点续传功能,默认是16K一个包,全部源码,已经在实际项目中应用。客户端有winform和服务两种方式的...

    delphi+C#webservice上传文件

    本话题主要聚焦于使用Delphi和C#两个不同的编程环境,通过Webservice来实现文件上传的功能。Delphi是一款强大的Windows应用程序开发工具,而C#是.NET框架下的主要编程语言,两者结合可以实现跨平台的通信。 1. **...

    Webservice上传文件和断点续传

    在本场景中,"Webservice上传文件和断点续传"指的是利用WebService技术实现大文件的分段上传,允许在网络不稳定或中断后从上次中断的位置继续上传,提高文件传输的可靠性和效率。 首先,理解断点续传的基本原理:...

    asp.net Web Service 接口大量数据传输解决方案

    具体到本方案,即“使用多线程分段获取大量数据方法”,主要是将庞大的数据量分解为多个小块,并通过多个线程并行获取这些数据块。这样做的好处在于可以最大化利用服务器资源,缩短数据处理时间,提高用户体验。 ...

    基于Android的龙猫智能资讯推广交互平台设计与实现.pdf

    在技术实现层面,平台运用了视频流技术将视频文件分解成二进制数据流,并通过网络分段发送到服务端,再由服务端重新组装并处理这些数据流。例如,视频上传功能通过Volley技术实现,用户可以通过该功能上传视频,并在...

    asp.net技术内幕(1)

    17.2 使用页面分段缓存 17.2.1 按参数改变页面分段缓存 17.2.2 页面分段缓存的限制 17.3 使用页面数据缓存 17.3.1 在缓存中添加条目 17.3.2 添加缓存文件依赖性 17.3.3 添加缓存触发器...

    asp.net技术内幕(2)

    17.2 使用页面分段缓存 17.2.1 按参数改变页面分段缓存 17.2.2 页面分段缓存的限制 17.3 使用页面数据缓存 17.3.1 在缓存中添加条目 17.3.2 添加缓存文件依赖性 17.3.3 添加缓存触发器...

    asp.net技术内幕(5)

    17.2 使用页面分段缓存 17.2.1 按参数改变页面分段缓存 17.2.2 页面分段缓存的限制 17.3 使用页面数据缓存 17.3.1 在缓存中添加条目 17.3.2 添加缓存文件依赖性 17.3.3 添加缓存触发器...

    asp.net技术内幕(4)

    17.2 使用页面分段缓存 17.2.1 按参数改变页面分段缓存 17.2.2 页面分段缓存的限制 17.3 使用页面数据缓存 17.3.1 在缓存中添加条目 17.3.2 添加缓存文件依赖性 17.3.3 添加缓存触发器...

    asp.net技术内幕(3)

    17.2 使用页面分段缓存 17.2.1 按参数改变页面分段缓存 17.2.2 页面分段缓存的限制 17.3 使用页面数据缓存 17.3.1 在缓存中添加条目 17.3.2 添加缓存文件依赖性 17.3.3 添加缓存触发器...

    ASP.net技术内幕

    4.2.8 动态产生列表条目 4.3 使用复杂控件 4.3.1 使用Calendar控件显示交互式的日历 4.3.2 使用AdRotator控件显示广告条 4.3.3 使用HTMLInputFile控件接受文件上传 4.4 小结 &lt;br...

    just-api:测试REST,GraphQL API

    链接产品特点以并行/串行模式运行测试套件支持所有广泛使用的HTTP方法支持x-www-form-urlencoded请求,分段请求,文件上传内置响应验证构造(标头,Cookie,状态码,JSON正文,JSON模式) 自定义响应验证器功能支持...

    C#编程经验技巧宝典

    10 &lt;br&gt;0023 如何添加引用第3方控件 11 &lt;br&gt;0024 如何生成DLL文件 11 &lt;br&gt;0025 如何使用不安全代码 11 &lt;br&gt;第2章 语言基础 13 &lt;br&gt;2.1 注释 14 &lt;br&gt;0026 如何对代码进行注释 14 ...

Global site tag (gtag.js) - Google Analytics