南强小屋 Design By 杰米
效果
若使用 请自行优化代码和样式
不显示图片/播放视频音频代码如下
<template>
<div>
<div v-on:dragover="tts" v-on:drop="ttrs" style="width: 800px;height: 200px;border: 1px solid black;font-size: 40px;line-height: 200px">
{{dt}}
</div>
<div v-for="(item,index) in fileList" :key="index" style="width: 800px;height: 200px;border: 1px solid black;font-size: 40px;position: relative;top:10px">
<p style="font-size: 20px;float: left;position: relative;left: 20pxword-wrap:break-word;word-break:normal;">{{item.name}}</p>
<h5 style="float:right;position: absolute;top: 80px;right: 20px">{{item.type}}</h5>
<h6 style="position: absolute;top: 80px;float: left;left: 20px">{{item.size | sizeType}}</h6>
<button style="float: right" @click="del(index)">删除</button>
</div>
</div>
</template>
<script>
export default {
name: "trs",
data(){
return{
dt:"",
fileList:[]
}
},
filters:{
sizeType(val){
let kbs = val/1024;
let mbs = 0;
let gbs = 0;
if(kbs>=1024){
mbs = kbs/1024;
}
if(mbs>=1024){
gbs=mbs/1024
return gbs.toFixed(2)+"GB";
}else if (mbs>=1){
return mbs.toFixed(2)+"MB"
}else {
return kbs.toFixed(2)+"KB"
}
}
},
mounted() {
let vm = this;
window.addEventListener("dragdrop", this.testfunc, false);
document.addEventListener("dragover",function () {
console.log(111)
vm.dt = "拖动到此处上传文件"
console.log(vm.dt)
})
},
methods:{
testfunc(event) {
alert("dragdrop!");
event.stopPropagation();
event.preventDefault();
},
del(index){
this.fileList.splice(index,1)
if(this.fileList.length==0){
this.dt = ""
}
},
tts(e){
console.log(e)
this.dt = "拖动到此处上传文件"
},
ttrs(e){
console.log(e)
console.log(e.dataTransfer.files)
let datas = e.dataTransfer.files;
datas.forEach(item=>{
this.fileList.push(item)
})
e.stopPropagation();
e.preventDefault();
this.dt = "上传完成,可继续上传"
}
}
}
</script>
<style scoped>
</style>
如果想要显示图片/播放视频/播放音频
这里我默认显示/播放最后一个上传文件 根据需求修改即可
<template>
<div>
<div
v-on:dragover="tts"
v-on:drop="ttrs"
style="width: 800px;height: 200px;border: 1px solid black;font-size: 40px;line-height: 200px"
>
{{ dt }}
</div>
<div
v-for="(item, index) in fileList"
:key="index"
style="width: 800px;height: 200px;border: 1px solid black;font-size: 40px;position: relative;top:10px"
>
<p
style="font-size: 20px;float: left;position: relative;left: 20pxword-wrap:break-word;word-break:normal;"
>
{{ item.name }}
</p>
<h5 style="float:right;position: absolute;top: 80px;right: 20px">
{{ item.type }}
</h5>
<h6 style="position: absolute;top: 80px;float: left;left: 20px">
{{ item.size | sizeType }}
</h6>
<button style="float: right" @click="del(index)">删除</button>
</div>
<div style="position:relative;top: 100px">
<img v-if="isImage" :src="/UploadFiles/2021-04-02/srcs">南强小屋 Design By 杰米
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
南强小屋 Design By 杰米
暂无vue实现桌面向网页拖动文件的示例代码(可显示图片/音频/视频)的评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。

