我试图使用jquery将概要文件图像上传并存储在本地存储中(为了一个演示目的)。我只是上传了一部分,不知道如何将图像存储在本地存储器中。请检查一下这个小提琴,帮我解决这个问题。谢谢。
function readURL(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function(e) {
$('#bannerImg').attr('src', reader.result);
}
reader.readAsDataURL(input.files[0]);
}
}
$(".file-upload").change(function() {
readURL(this);
});
$(".upload-button").on('click', function() {
$(".file-upload").click();
});
发布于 2017-05-07 06:20:06
将文件保存为base64,并从本地存储加载.Hope加载它,这对您有帮助。
https://jsfiddle.net/RemyaJ/f9wfftft/4/
if(localStorage.img) {
$('#bannerImg').attr('src', localStorage.img);
}
function readURL(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function(e) {
localStorage.setItem('img', e.target.result);
$('#bannerImg').attr('src', reader.result);
}
reader.readAsDataURL(input.files[0]);
}
}
$(".file-upload").change(function() {
readURL(this);
});
$(".upload-button").on('click', function() {
$(".file-upload").click();
});
发布于 2017-05-07 05:52:34
您不能只使用Jquery上传文件,至少需要php函数(在web服务器上运行)才能将它们上传到本地目录。
首先,您需要将和id属性添加到html代码的输入中:
<input class="file-upload" type="file" id="file" accept="image/*" />
然后,将此函数添加到readURL下面:
$(".file-upload").change(function() {
readURL(this);
var input = document.getElementById("file");
file = input.files[0];
if(file != undefined){
formData= new FormData();
if(!!file.type.match(/image.*/)){
formData.append("image", file);
$.ajax({
url: "upload.php",
type: "POST",
data: formData,
processData: false,
contentType: false,
success: function(data){
alert('success');
}
});
}else{
alert('Not a valid image!');
}
}else{
alert('Input something!');
}
});
然后,创建另一个文件,比方说upload.php
<?php
$dir = "your local storage directory";
move_uploaded_file($_FILES["image"]["tmp_name"], $dir. $_FILES["image"]["name"]);
?>
为了更好地理解,您还可以阅读这篇文章。
https://stackoverflow.com/questions/43827833
复制相似问题