写一个脚本,使用请求包,向服务端发送post请求 携带文件
需要模拟form表单,因为后台不能改 需要知道文件名称为avatar
用什么脚本写?
js
很简单。FormData 对象就可以。等下我帮你写个demo。
那真是麻烦呢了!
FormData
上传 demo
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Upload</title>
</head>
<body>
<input type="file"/>
</body>
<script type="text/javascript">
window.onload = event => {
// 监听文本框事件
document.querySelector('input').addEventListener('change', event => {
// 获取到用户选择的文件对象
const file = event.target.files[0];
// 创建formData对象
const formData = new FormData();
// 把文件添加到formData
formData.append('avatar', file);
// 通过fetch上传
fetch('/upload', {
method: 'POST',
body: formData
}).then(response => {
response.json().then(message => {
// 打印服务器响应的json信息
console.log(message);
});
});
});
}
</script>
</html>
FormData
文档
1 Like
老哥 我想写的是一个js 文件 没有依赖form 表单的 const file = event.target.files[0]; 这个文件用node.js 怎么读取呢 const file_path = app.lib.path.join(__dirname, “…/…/test_image/test-1.jpg”); 这样吗
刚刚没有提到node.js 抱歉
那我就不是很明白你要干啥了。我不会nodejs
。js还算是熟悉。
类似于在控制器里发送请求 携带文件 携带的文件怎么读取的 依赖表单读取的数据 是怎么产生的
是 readFile 出来的吗
哦,你是想用nodesjs
作为客户端,post
文件吗?
是的
那我没法帮到你了,我不会Nodejs。你可以通过搜素引擎检索一下关键字:nodejs
post
文件
好的吧 谢谢了
1、直接使用request模块
2、使用form-data