在上传之前检查图像是否有效 - mootools

时间:2011-10-18 21:10:54

标签: javascript ajax mootools

我正在使用mootools请求将图像数据推送到服务器以导入图像。我的问题是如何在完成请求之前确定图像路径是否有效?

这就是我现在所拥有的 -

http://jsfiddle.net/sTbFb/1/

function doUpload(){
  var remoteFile = document.id('uploadRemote').get('value');
  var imageRequest = new Request({
      url:'index.php', 
      method: 'post',
      data: 'path='+remoteFile,
      onRequest: function() {
        console.log(remoteFile);
        var myimage = Asset.image(remoteFile,
          {
            //onError: imageRequest.cancel() // <-- this doesn't work either
            onError: this.cancel()
          }
        );
      },
      onSuccess: function(response) {
        alert(response);
      }
    }).send();
}

document.id('submit').addEvent('click', function(){
    doUpload();
});

我正在尝试使用Asset.image来测试路径是否真的是一个图像 - 如果不是,则取消请求。但是,它没有成功。

任何关于我做错的提示?谢谢!

1 个答案:

答案 0 :(得分:1)

您无法从<input type="file" />获取所选文件的路径。因此,在上传之前,您将无法加载它。您可以做的最好的事情是检查文件扩展名。


编辑:问题可能在于这一行:

onError: this.cancel() 

应该是:

onError: function () {
    imageRequest.cancel();
}