前端修改服务器文件,请问前端怎么将上传文件的名字修改?

确实通过File API获取到的file类型是只读的,即使获取了文件也无法修改文件名,

但是,我们仍然可以通过用原文件的数据构造一个新的file对象的方法来达到修改文件名的目的。

//上传图片

//图片预览

---------------------------------------------

//获取文件对象

var file = document.querySelector("#fileDemo").files[0]

//创建新文件对象

var newfile = new File([file], new Date().getTime()+".jpg",{type:"image/jpeg"});

//以下为预览图片代码

var reader = new FileReader();

reader.onload = function (oFREvent) {

document.querySelector("#uploadPreview").src = oFREvent.target.result;

};

reader.readAsDataURL(newfile);

---------------------------------------------

//以下是上传图片的方法

reader.onloadend = function() {

// 这个事件在读取结束后,无论成功或者失败都会触发

if (reader.error) {

console.log(reader.error);

} else {

document.getElementById("bytesRead").textContent = file.size;

// 构造 XMLHttpRequest 对象,发送文件 Binary 数据

var xhr = new XMLHttpRequest();

xhr.open(/* method */ "POST",

/* target url */ "upload.jsp?fileName=" + file.name

/*, async, default to true */);

xhr.overrideMimeType("application/octet-stream");

xhr.sendAsBinary(reader.result);

xhr.onreadystatechange = function() {

if (xhr.readyState == 4) {

if (xhr.status == 200) {

console.log("upload complete");

console.log("response: " + xhr.responseText);

}

}

}

}

}

reader.readAsBinaryString(newfile);

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值