我试图允许用户将图像上传到服务器,利用jpeg文件的客户端压缩来减少带宽使用。
然而,我似乎很难做到这一点,并希望得到一些帮助。
我尝试使用网站上的示例代码作为视图,例如:
<!DOCTYPE html>
<html xmlns="<a class="linkification-ext" href="http://www.w3.org/1999/xhtml" title="Linkification: http://www.w3.org/1999/xhtml">http://www.w3.org/1999/xhtml</a>" dir="ltr">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<title>Plupload - Getting Started</title>
<script type="text/javascript" src="<?php echo base_url();?>assets/js/plupload.full.min.js" ></script>
</head>
<body>
<ul id="filelist"></ul>
<br />
<div id="container">
<a id="browse" href="javascript:;">[Browse...]</a>
<a id="start-upload" href="javascript:;">[Start Upload]</a>
</div>
<br />
<pre id="console"></pre>
<script type="text/javascript">
var uploader = new plupload.Uploader({
browse_button: 'browse', // this can be an id of a DOM element or the DOM element itself
url: '<?php echo base_url();?>application/views/messages/upload.php',
resize: {
quality: 80,
preserve_headers: false
}
});
uploader.init();
uploader.bind('FilesAdded', function(up, files) {
var html = '';
plupload.each(files, function(file) {
html += '<li id="' + file.id + '">' + file.name + ' (' + plupload.formatSize(file.size) + ') <b></b></li>';
});
document.getElementById('filelist').innerHTML += html;
});
uploader.bind('UploadProgress', function(up, file) {
document.getElementById(file.id).getElementsByTagName('b')[0].innerHTML = '<span>' + file.percent + "%</span>";
});
uploader.bind('Error', function(up, err) {
document.getElementById('console').innerHTML += "\nError #" + err.code + ": " + err.message;
});
document.getElementById('start-upload').onclick = function() {
uploader.start();
};
</script>
</body>
</html>
与上述视图位于同一目录中的标准upload.php页面:
<?php
if (empty($_FILES) || $_FILES["file"]["error"]) {
die('{"OK": 0}');
}
$fileName = $_FILES["file"]["name"];
move_uploaded_file($_FILES["file"]["tmp_name"], "<?php echo base_url();?>uploads/files/$fileName");
die('{"OK": 1}');
?>
代码似乎运行,我得到100%的消息以及文件信息,但是引用的上传目录中没有图像,同一文件夹中的其他视图可以使用其他文件上传方法写入目录,因此权限似乎不是问题。我希望在这里提出一些建议,问题是什么,或者在哪里寻找答案,谢谢。