以下是ajax
上传正在提交的文件的服务器端脚本的代码段。它会在change
的{{1}}上触发。
input[type=file]
另一方面,PHP脚本返回一个JSON字符串,其中包含上传文件的临时目录(看起来像 $('#magLogo').on('change', function(e) {
var $input = $(this);
var file = e.currentTarget.files[0];
var data = new FormData();
data.append('file', file);
$.ajax({
type: "POST",
data: data,
cache: false,
contentType: false,
processData: false,
url: 'my/path/to/upload/script.php'
})
.done(function(fullPath) {
$input
.parents('#magLogoCont')
.css('background-image', "url('"+fullPath+"')");
});
});
,因为我在Windows上运行)。
问题是当我想把这个图像作为div的背景向用户显示它已被上传时,我在控制台中得到的错误是file:///C:/wamp/tmp/filename.jpg
)。我无法直接将其上传到最终目录中,因为在用户选择上传图片时,所有信息都无法使用。
有没有办法做我想做的事?
非常感谢!
答案 0 :(得分:3)
不,您无法通过这样的“url”/路径将文件集成到浏览器中。
将图像移动到网页httpfiles根目录下的文件夹中,并以相对方式指向该路径。