一、express部分(服务器端)
- 项目的初始化及安装
mkdir app
cd app
npm install -S express
npm install -S multer
- 代码:
// app.js
const express=require('express')
const http=require('http')
const multer=require('multer')
let upload = multer({ dest: 'uploads/' })
let app=express();
app.post('/upload', upload.single('avatar'), function (req, res, next) {
let msg={
body:req.body,
file:req.file
}
res.json(msg)
})
let server=http.createServer(app);
server.listen(8000,function () {
console.log("start at port 8000")
})
- 项目运行
node app.js
okhttp部分(java或者android的客户端)
- 引包
implementation 'com.squareup.okhttp3:okhttp:4.2.1'
- 上传部分
@Test
public void test5() throws Exception{
String path="/Users/johnyu/Documents/abc.JPG";
OkHttpClient client=new OkHttpClient();
//上传文件域的请求体部分
RequestBody formBody= RequestBody
.create(new File(path),MediaType.parse("image/jpeg"));
//整个上传的请求体部分(普通表单+文件上传域)
RequestBody requestBody=new MultipartBody.Builder()
.setType(MultipartBody.FORM)
.addFormDataPart("title", "Square Logo")
//filename:avatar,originname:abc.jpg
.addFormDataPart("avatar", "abc.jpg",formBody)
.build();
Request request = new Request.Builder()
.url("http://localhost:8000/upload")
.post(requestBody)
.build();
Response response = client.newCall(request).execute();
System.out.println(response.body().string());
}
三、运行结果
{
"body": {
"title": "Square Logo"
},
"file": {
"fieldname": "avatar",
"originalname": "abc.jpg",
"encoding": "7bit",
"mimetype": "image/jpeg",
"destination": "uploads/",
"filename": "bbeb89990ed970686eeeb467bb02a211",
"path": "uploads/bbeb89990ed970686eeeb467bb02a211",
"size": 2884436
}
}
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。