附件上传下载基本操作

文件的上传下载:需要文件的url,bytes

基本类:

用到的类简介作用
HttpClientshttp客户端httpclient.execute(post);
HttpServletResponse针对每一次请求,分别创建请求request对象、响应response对象。ApplicationUtils.getResponse();
HttpPost请求方式(装下一些请求的配置)HttpPost(url)
RequestConfig设置请求时间RequestConfig.custom().setConnectTimeout(5000).build();
MultipartEntityBuilder附件数据类型式addTextBody(“type”,mediaType.uploadType())
EntityUtils响应体的转化EntityUtils.toString(res.getEntity(), utf8)

大概代码(这里只是一小部分)

上传:

// 通过url设置请求
HttpPost post = new HttpPost(url);
// 设置请求超时时间(还有)
RequestConfig config = RequestConfig.custom().setConnectTimeout(5000).build();
// 配置进请求
post.setConfig(config);
// 设置附件数据类型
MultipartEntityBuilder addTextBody= MultipartEntityBuilder.create();
// 设置兼容模式
addTextBody.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
// 设置请求的格式
addTextBody.setCharset(Charset.forName(utf8));
addTextBody(“type”,mediaType.uploadType())
HttpEntity entity = builder.build();
设置响应体
post .setEntity(entity);
// 创建客户端
CloseableHttpClient client = HttpClients.createDefault();
// 执行提交
CloseableHttpResponse res= client .execute(post );
// 接收放回状态
int state = res.getStatusLine().getStatusCode();

下载:

HttpServletResponse resp = ApplicationUtils.getResponse();
// 设置响应头 响应编码
resp.setHeader("Content-disposition","attachment; filename=" + new String(fileName.getBytes(utf8), "ISO8859-1"));
resp.setCharacterEncoding(utf8);
// 创建请求
HttpGet get = new HttpGet(url);
// 设置请求超时时间
RequestConfig config = RequestConfig.custom().setConnectTimeout(5000).build();
httpGet.setConfig(config );
// 创建http客户端
CloseableHttpClient client = HttpClients.createDefault();
// 提交执行
CloseableHttpResponse res= client .execute(get );
return  EntityUtils.toByteArray(res.getEntity());
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
UniApp 是一款基于 Vue.js 的跨平台开发框架,它允许开发者编写一套代码,生成适用于多个平台的应用,包括 Web、iOS、Android 和 H5。在 UniApp 中,上传附件通常涉及到文件上传功能,可以通过官方提供的`u-file-uploader`组件或自定义方法来实现。 以下是一个基本的使用`u-file-uploader`组件上传文件的例子: ```html <template> <view> <u-file-uploader ref="uploader" :before-read="beforeRead" :before-upload="beforeUpload" :on-success="onSuccess" :on-error="onError" :limit="1" <!-- 可以设置最多上传的文件数量 --> :accept="'.jpg, .png, .jpeg'" <!-- 设置支持的文件类型 --> @change="handleChange" ></u-file-uploader> <button @click="uploadFiles">上传文件</button> </view> </template> <script> export default { methods: { beforeRead(file) { // 在选择文件前执行的操作,如显示加载提示 console.log('即将读取文件:', file); }, beforeUpload(file) { // 在上传前执行的操作,如限制文件大小等 console.log('即将上传文件:', file); return true; // 返回true表示允许上传,false则阻止 }, onSuccess(res) { // 文件上传成功后调用,res包含服务器返回的数据 console.log('文件上传成功:', res); }, onError(err) { // 文件上传失败时调用,err包含错误信息 console.error('文件上传失败:', err); }, handleChange(e) { // 当用户选择文件时触发,e.detail包含文件信息 console.log('文件选择:', e.detail); }, uploadFiles() { this.$refs.uploader.submit(); // 提交上传 } } }; </script> ``` 相关问题-- 1. 如何在UniApp中设置文件上传的限制? 2. `u-file-uploader`组件的事件有哪些? 3. 除了官方组件,

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值