Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Jonas Cowboy

Salvar imagem local FileReference

Recommended Posts

Pessoal, preciso de uma ajuda de voces em relação como Salvar imagem de um EXE para o computador da pessoa

 

Seguinte: Fiz uma galeria de imagem no flash e nessa galeria tem um botão na foto para baixar o arquivo para a maquina do usuário. Meu flash se encontra dentro de um CD e não vai ter acesso a internet para pegar o arquivo

 

Eu salvei meu swf como EXE e para fazer esse botão eu pesquisei sobre FileReference, mas encontrei os seguintes problemas

 

eu achei esse código no help do flash:

 

import flash.net.FileReference;

var listener:Object = new Object();

listener.onSelect = function(file:FileReference):Void {
	trace("onSelect: " + file.name);
}

listener.onCancel = function(file:FileReference):Void {
	trace("onCancel");
}

listener.onOpen = function(file:FileReference):Void {
	trace("onOpen: " + file.name);
}

listener.onProgress = function(file:FileReference, bytesLoaded:Number, bytesTotal:Number):Void {
	trace("onProgress with bytesLoaded: " + bytesLoaded + " bytesTotal: " + bytesTotal);
}

listener.onComplete = function(file:FileReference):Void {
	trace("onComplete: " + file.name);
}

listener.onIOError = function(file:FileReference):Void {
	trace("onIOError: " + file.name);
}

var fileRef:FileReference = new FileReference();
fileRef.addListener(listener);
var url:String = "http://www.meusite.com/imagem/imagem.jpg";

botão.onPress = function(){
if(!fileRef.download(url, "imagem.jpg")) {
	trace("dialog box failed to open.");
}
}

 

Esse código me faz puxar arquivo da internet para salvar na máquina, mas ele funciona só para arquivos que estão on Line. Eu precisava que ele puxasse a imagem de uma pasta chamada "imagens" que se encontra dentro do CD. Onde que eu poderia mudar para ele puxar de uma pasta local?

 

Encontrei essa outra linha de código para arquivo local:

 

import flash.net.FileReference;

var referece:FileReference = new FileReference();

botao.onRelease = function(){
	referece.download("imagens/imagem.jpg","imagem.jpg");
}

mas não tive sucesso com isso, quando clico no botao ele não faz nada

 

Alguem pode me dar uma força nisso? Como não vou fazer nada on line não tenho como fazer PHP ou XML, só AS

 

Abração!

Compartilhar este post


Link para o post
Compartilhar em outros sites

É simples

 

Você não faz :)

 

FileReference só serve para internet... assim como upload de imagens.

Assim como download :)

 

Não existe essa funcionalidade que você quer ;)

 

Abraços

 

PS: Se existir desconheço completamente!

Compartilhar este post


Link para o post
Compartilhar em outros sites

É simples

 

Você não faz :)

 

FileReference só serve para internet... assim como upload de imagens.

Assim como download :)

 

Não existe essa funcionalidade que você quer ;)

 

Abraços

 

PS: Se existir desconheço completamente!

 

Valeu Berseck, mas mesmo não usando FileReference não teria um jeito de fazer esse comando? Pq precisava dessa função em um projeto que vou entregar para meu cliente

 

Se tiver uma idéia ia me quebrar uma arvore! Abração!

Compartilhar este post


Link para o post
Compartilhar em outros sites

É simples

 

Você não faz :)

 

FileReference só serve para internet... assim como upload de imagens.

Assim como download :)

 

Não existe essa funcionalidade que você quer ;)

 

Abraços

 

PS: Se existir desconheço completamente!

Não encontrei uma solução, mais um quebra galho:

 

1° Crie um arquivo de lote (.bat), com o comando para a executar a imagem, segue abaixo um exemplo:

 

@echo off

start image.jpg

 

Digite esses paramêtros no Bloco de notas e Salve o arquivo com extensão .BAT, por exemplo:

 

imagem.bat

 

2° Crie uma pasta chamada FSCOMMAND no diretório onde se encontra o .exe do filme, OBS: Esse comando só funciona como Projetor, ou seja, .exe a partir do Flash(swf)

 

3° Copie a respectiva imagem para a pasta FSCOMMAND + o arquivo imagem.bat criado acima.

 

4° Com os passos acimas criados, crie uma actionscript no botão ou link do filme flash assim;

 

on(press){
fscommand("exec" , "imagem.bat");
}

Esse é um quebra galho, mas se você tiver uma solução para aparecer uma tela de "Salvar imagem como" quando clicasse em um botão ia me ajudar d+

 

Abs!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não existe velho....

 

O que você fez foi abrir a foto..

 

Não existe o salvar como ainda mais em um CD tu quer salvar em CD como?? -.-

 

Abrir foto... daria pra você dar um comando para abrir um certo diretório... mas isso ai não vai salvar foto do mesmo jeito :(

 

desconheço essa funcionalidade que você procura...

 

abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, o pior é que dá (em termos), eu também estou com o mesmo problema.

Existe um programa que gera um projector, se chama My Flash Application.

Tenho uma apresentação que tem ações no botão de salvar e abrir um arquivo, pdf, ai, ppt... O problema é que esse aplicativo não tem como descompilar com o swf decompiler ou similar, logo, não dá para saber quais actions estão usando, talvez misture programações em VB ou algo assim.

O que dá para fazer é compactar o arquivo como zip e usar o .bat ou get url para abrir o arquivo.

O ruim é que o GET URL abre uma página do navegador para nada, só para pedir para salvar o arquivo, é péssimo.

O .bat provavelmente abrirá o zip diretamente, sem deixar salvar o arquivo.

Se souberem de algo mais, postem aqui porque eu também estou muito precisando resolver esse lance de salvar arquivo local...

 

Valeu!

 

Yazz

Compartilhar este post


Link para o post
Compartilhar em outros sites

MAs o que o camarada queria era salvar um arquivo dentro de um CD...... nada a ver com isso que o bruno falou.

 

Salvar coisa em CD não da!

 

No seu computador dá... ou na web..

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

import flash.net.FileReference;
import flash.display.Loader;
import flash.events.Event;
import flash.display.Bitmap;
import com.adobe.images.JPGEncoder;

var loader:Loader = new Loader();
loader.load(new URLRequest("imagem.jpg"));

loader.contentLoaderInfo.addEventListener(Event.COMPLETE, salvar);

function salvar(e:Event):void {
	var file:FileReference = new FileReference();
	var jenc:JPGEncoder = new JPGEncoder(100); //o valor 100 representa a qualidade da imagem
	var barray:ByteArray = jenc.encode(Bitmap(loader.content).bitmapData);
	 
	file.save(barray, 'imagem.jpg');
}

Esse script deve funcionar. :)

 

PS.: Script para ActionScript 3.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Em AS3 da pra fazer como mostra o Exemplo acima...

 

E como eu havia entendido que queria salvar o conteudo dentro do cd... se for isso continuo dizendo que não da...

 

Agora salvar no proprio computador da... normalmente

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigos!

Obrigado pelas dicas.

O script do brunobispo resolve parte do meu problema.

Eu precisaria de um script para outros tipos de arquivos.

Tenho que fazer o mesmo para arquivos .ppt e .pdf.

Abrir diretamente é possível mas esse lance de salvar acho que não dá mesmo, tirando o jpg que é possível com AS3.

Eu sei que existe uma forma de fazer isso com vb script, criando um executável e ativar usando o fscommand.

Mas não vi nenhum código que resolvesse isso.

O pior é que o MY FLASH APPLICATION faz isso. Infelizmente não tem como pegar nenhum script de lá...

Parece que o MDM ZINC é possível fazer... o chato é ficar migrando de um programa para outro.

Vou tentar.

 

Estou lendo esse post:

 

http://www.actionscript.org/forums/archive...3/t-105529.html

 

É possível sim, só que tem que aprender em outro programa...

 

Obrigado pela ajuda!

 

Abraços!

 

Yazz

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.