1

我有一些代码,在上传原始图像之前,它会创建缩略图图像。我想做的是,我不想上传客户的原始图片,而是上传缩略图。原因是原始图像文件通常太大,而我的系统可以处理非常小的图像,例如缩略图。我怎样才能实现我的目标?

到目前为止,这是我的代码:

PHP代码:

if (isset($HTTP_POST_VARS['action'])) {
   $SafeFile = $_FILES['client_image']['name'];
}

HTML 代码:

< input type="file"  valign=middle  name="client_image" id="client_image" >
< output id="list" > <  /output>

JavaScript 代码:

document.getElementById('client_image').addEventListener('change', handleFileSelect, false);
function handleFileSelect(evt) {
    var files = evt.target.files; 
    for (var i = 0, f; f = files[i]; i++) {
        // Only process image files.
        if (!f.type.match('image.*')) {
            continue;
        }
        reader.onload = (function(theFile) {
            return function(e) {
                // Render thumbnail.
                var span = document.createElement('span');
                span.innerHTML = ['<img class="thumb" id="thumb_image" src="', e.target.result,
                                '" title="', escape(theFile.name), '"/>'].join('');
                document.getElementById('list').insertBefore(span, null);
            };  
        })(f);
    }
}
4

1 回答 1

0

唯一适用于所有流行浏览器的解决方案是使用带有图像预处理的 Flash 上传器。

SWFUploader (version >=2.5.0) 有这个功能。

这是一个使用示例(文件夹demos/resizedemo):SWFUpload_v250_beta_3_samples.zip

于 2012-07-10T20:56:03.217 回答