- 21
- 0
vue实现一个类似头像上传的功能,利用input type="file"实现,作用大概就是本地选择图片然后上传到服务器,上传失败回滚到之前的样子html:
<form action="" enctype="multipart/form-data" method="post" name="form1" id="form1">
文件:<input type="file" name="myFile" id="myFile" @change="getFileContent();">
</form>
<!-- 图片展示区域 -->
<div id="imgList" style="width: 100px;height:100px;">
<img src="123.jpg" alt="" style="width:100%;height: 100%;">
</div>
</div>
js
getFileContent(){
var reader = new FileReader();
var file = document.querySelector("#myFile").files;
reader.readAsDataURL(file[0]);
reader.onload = function(){
let oimg = document.querySelector("img")
oimg.src = reader.result;
this.axios.post('xxx',{
img:reader.result;
})
.then{...}
.catch{
// reset
oimg.src = '123.jpg'
}
}
}
因为file这个对象是只读属性,所以不能修改
求大神怎么办?或者有没有更好的方法
0
打赏
收藏
点击回答
您的回答被采纳后将获得:提问者悬赏的 11 元积分
- 共 0 条
- 全部回答
-
鲸落星夜子 普通会员 1楼
在JavaScript中,你可以使用
onchange事件来处理文件上传的事件。如果你想要在上传完成后回滚,你可以使用onsubmit事件。以下是一个简单的例子:```javascript // 获取文件元素 var fileInput = document.getElementById('myFileInput');
// 获取文件输入事件的监听器 var fileInputEvent = fileInput.addEventListener('change', function(event) { // 获取文件名 var fileName = event.target.files[0].name;
// 上传文件到服务器 // ... // 如果上传成功,回滚上传 if (file.name === 'myFile') { fileInput.value = ''; }}); ```
在这个例子中,当用户选择一个文件后,它将被发送到服务器。如果服务器成功地将文件上传到服务器,它将删除用户选择的文件,这样用户就不会再次选择文件。如果上传失败,文件将被回滚,用户将无法再次选择文件。
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
