Sistema de upload de foto com "preview"

E ai galera blz?!

To tendo um problema é gostaria de sugestões e dicas de vocês é o seguinte to fazendo um sistema de cadastro de fotos para um banco de dados de fotos, a minha tela de cadastro tem o input-file para o usuário escolher a foto do pc dele e o resto é input-text normal com nome e outras informações isso é tranquilo e etc só que o problema é, quando o usuário escolher a foto eu tenho que mostrar abaixo do campo, num espaço reservado, um preview da foto, antes de enviá-la e ai que o bicho pegou…vou falar o que pensei como alternativa mas acho que estou “pensando” errado acho que deve ter algo mais fácil e mais “correto” para isso:

1 - Pensei que para fazer isso funcionar, como podem ser salvas imagens grandes no banco, teria que salvá-la em algum lugar e dar um resize para não pesar e depois exibi-la no “preview”.

Problemas: Para salvar a foto eu criei um form só para o input e um botão “ver preview”(um submit) o qual mando salvo numa pasta no servidor, dou um resize e redireciono para a página de cadastro com a “preview” já carregada só que ai fica MUITO feio pois rola um tanto de redirecionamento e tem o tempo do upload ainda o que não gostei…

Dúvidas: Tem como eu mascaras esses redirecionamentos?de que forma?

2 - Pensei em colocar o form do upload da foto numa frame escondida e fazer tudo através dela, assim iria mascarar esses “redirecionamentos” e ficar mais clean.

Problemas: Como vou fazer para quando o upload estiver completo e etc mandar para a página principal e etc falando que ele está e carregar a foto no lugar do “preview”, em outras palavras como de dentro de uma página do frame vou alterar alguma coisa dentro da página principal em que o frame está embutido.

Dúvidas: Tem como alterar algo através de javascript, ajax ou alguma linguagem de programação do frame para o index do cadastro sem dar um refresh no mesmo?! pois se eu der refresh o meu frame também podera ser carregado e ai acabaria com tudo…

3 - Pensei que teria alguma forma de pegar essa foto através de javascript, ajax, dar resize e colocar no preview.

Problemas: Não conheço forma de fazer isso via javascript, ajax de pegar a foto do usuário sem salvá-la em algum lugar ou carregá-la direto do pc do cara para o brower

Dúvidas: Tem como fazer isso via javascript ou ajax?

Galera esperto ter sido claro…no mais valeu ai e brigadão

Pensei em uma coisa tola (crie um frame contendo um < img src = "c:\diretorio\arquivo.jpg" height = 100 width = 100 > ) só que você tem o seguinte problema agora: como é que você vai obter o pathname do arquivo?

É tinha pensado nisso também só que tem um problema grave pois no FireFox não tem como pegar o pathname mais por questão de segurança ai só vem o nome do arquivo e a extensão, no IE7 da pra pegar o pathname completo mas, já li que no IE8 eles vaum tirar isso também para se adequar as normas da W3C igual o FireFox ou seja essa opção não dá…mas valeu assim mesmo…se alguém tiver uma idéia ai…valeu