javascript-使用新下载的图像填充输入[type=file]
如何使用javascript-使用新下载的图像填充输入[type=file],javascript,jquery,html,Javascript,Jquery,Html,如何使用javascript将下载的图像直接填充到 我有一个网站,允许用户分别用2个更改头像图像和背景图像。之后,avatar和background将很好地显示在页面上 但是,如果用户A已经上传了化身和背景,下一轮他只想更改背景,他将单击背景,并更改背景。并保持avatar按钮未动。如果是这种情况,我需要将头像图像(已从服务器下载)直接放入中,然后执行上传图像功能: function uploadImage(){ var formData = new FormData();
javascript
将下载的图像直接填充到
我有一个网站,允许用户分别用2个
更改头像
图像和背景
图像。之后,avatar
和background
将很好地显示在页面上
但是,如果用户A已经上传了化身
和背景
,下一轮他只想更改背景
,他将单击背景
,并更改背景
。并保持avatar
按钮未动。如果是这种情况,我需要将头像
图像(已从服务器下载)直接放入
中,然后执行上传图像
功能:
function uploadImage(){
var formData = new FormData();
formData.append('Avatar',$('#avatar')[0].files[0]);
formData.append('Background',$('#background')[0].files[0]);
$.ajax({
url: uploadurl,
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
headers:{
Authorization : getPref('auth_token')
},
success: function (data) {
console.log(data);
myApp.alert("Upload done!",null);
},
error:function(xhr, status)
{
console.log(status);
myApp.alert("Please try again later.",'Connection fail!',null);
}
});
}
但我不知道如何从下载url获取图像文件
如何解决这个问题?我认为Javascript不允许预先填充
文件
输入。出于安全原因,用户必须明确选择它,以防止网站强制进行不必要的上传。为什么不允许头像输入为空?如果用户已经有了一个头像,并且该字段为空,则将其留在服务器上。在这种情况下,您完全不需要填写文件输入,您可以直接将其作为Blob发送到formData中(但我想知道为什么您甚至需要这样做,添加id,只上载所需的图像,进行合并服务器端),是否有一种方法可以让我获得我已经下载的图像文件,并且可以直接append()
上传过程?是xhr.open('yourfile.jpg')xhr.responseType='blob'xhr.onload=function(){yourfile=this.response;}
甚至fetch('yourFile.jpg')。然后(函数(response){return response.blob();})。然后(函数(yourBlob){…