首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Ajax >

AjaxUpload下图片功能的有关问题

2012-12-16 
AjaxUpload上图片功能的问题AjaxUpload上传图片有人弄过图片预览吗?file好像只是拿到图片名字,而没有拿到

AjaxUpload上图片功能的问题
AjaxUpload上传图片有人弄过图片预览吗?
file好像只是拿到图片名字,而没有拿到路径,都不知道怎么弄预览,有人做过的说一下方法,谢谢
是Jquery.AjaxUpload这个插件
[解决办法]
该回复于2010-04-19 08:16:14被版主删除
[解决办法]
已经解决了,谢谢~~~
- -自己改了下源代码 
[解决办法]
LZ高人啊,可不可以分享下。
看帖必回帖。
[解决办法]
该回复于2010-08-06 11:24:40被版主删除
[解决办法]
js里面有个函数把路径用正则去掉前面部份的。
如果各位想实现预览效果,就在change事件里把那个函数去掉


addEvent(input, 'change', function(){
                 
                if ( ! input 
[解决办法]
 input.value === ''){                
                    return;                
                }
                            
                // Get filename from input, required                
                // as some browsers have path instead of it          
                var file = input.value;
                                
                if (false === self._settings.onChange.call(self, file, getExt(file))){
                    self._clearInput();                
                    return;
                }
                
                // Submit form when value is changed
                if (self._settings.autoSubmit) {
                    self.submit();
                }
            });  



[解决办法]
var file = fileFromPath(input.value); 改成 var file = input.value;
就是这个函数:
function fileFromPath(file){
        return file.replace(/.*(\/
[解决办法]
\\)/, "");
    }
[解决办法]
你这个解决方案在FF,Opera下不好使
[解决办法]
FF有不同的获取方式,现在可能解决,判断一下就行了
[解决办法]
IE7,IE8下不取不到文件路径,FF下面可以取到,不知道您有什么好的方法
function getFilePath(input){
    var obj = input;
    var file = "";
    //try{
    if(!jQuery.browser.msie) {
if(input.files) {
file = input.files.item(0).getAsDataURL();
}else{
file = input.value;
}
}else{//判断IE7,IE8
if(jQuery.browser.version >= 7) {
input.select();
file = document.selection.createRange().text;
/*
var objPreviewFake = $('#preview_fake');
alert(objPreviewFake.toString());
var objPreviewSizeFake = $('#testimg');
$('#preview_fake').attr("style","FILTER:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale);");
objPreviewFake.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src== file;
objPreviewSizeFake.filters.item('DXImageTransform.Microsoft.AlphaImageLoader').src= file;
*/
//file = 'file:///'+file;
alert('file path== '+file);
}else{
file = input.value;
}
}
    //}catch(e){alert(e.message);}
    alert("file== "+file);
    return file;
    }
[解决办法]
function changeFile(input){
    var obj = input;
    var file = "";
    //try{
    if(!jQuery.browser.msie) {
if(input.files) {
file = input.files.item(0).getAsDataURL();
}else{
file = input.value;
}
}else{//判断IE7,IE8
if(jQuery.browser.version >= 7) {
input.select();
file = document.selection.createRange().text;
/*
var objPreviewFake = $('#preview_fake');
alert(objPreviewFake.toString());
var objPreviewSizeFake = $('#testimg');
$('#preview_fake').attr("style","FILTER:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale);");
objPreviewFake.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src== file;
objPreviewSizeFake.filters.item('DXImageTransform.Microsoft.AlphaImageLoader').src= file;
*/
//file = 'file:///'+file;
alert('file path== '+file);
}else{
file = input.value;
}
}
    //}catch(e){alert(e.message);}
    alert("file== "+file);
    return file;
    }


[解决办法]
在change方法中加入取文件路径的方法返回文件路径,现在IE6,FF下可以返回,在IE7,IE8下取不到

 addEvent(input, 'change', function(){
                 
                if ( ! input 

热点排行