Jump to content

Ajuda com encodeString


THG

Recommended Posts

Olá, estou com uma dúvida aki eu estou tendando codificar imagem usando encodeString porem em uma imagem minha de 3 kb ele não retorna corretamente o path para criar a textura,

lendo uma conversa no discord que as vezes buga pela imagem ser leve, gostaria de saber se não existe uma outra maneira de fazer isso ou de contornar esse bug. Testei com  base64Encode   porem aumentou 5x o tamanho do arquivo

Link to comment
  • Other Languages Moderators

E aí, @THG. Tudo bem?

O que você quis dizer com path? (eu leio como caminho do arquivo) — de qualquer forma, se estiver falando do conteúdo da imagem, você precisa codificar normalmente com encodeString. Daí, na hora de descriptografar, com decodeString, você pega o resultado e usa base64Decode. Retornará para você o conteúdo normalmente. Sem erros.

  • Thanks 1
Link to comment
On 24/11/2022 at 18:38, androksi said:

E aí, @THG. Tudo bem?

O que você quis dizer com path? (eu leio como caminho do arquivo) — de qualquer forma, se estiver falando do conteúdo da imagem, você precisa codificar normalmente com encodeString. Daí, na hora de descriptografar, com decodeString, você pega o resultado e usa base64Decode. Retornará para você o conteúdo normalmente. Sem erros.

Opa @androksisou eu aqui, consigui recuperar a minha conta antiga.

então eu acabei de testar essa maneira que você explicou e infelizmente o erro persistiu, a questão do path que eu me referi foi do erro no debug pelo que eu conheço também se refere ao caminho do arquivo porem no debug printa como bad file path como pode ver aqui: https://imgur.com/a/tGIHqAb

Para desencargo de alguma burrice minha é assim que estou fazendo:

local function loadFile(path)
	local file = fileOpen(path)
	if not file then
		return false
	end
	local count = fileGetSize(file)
	local data = fileRead(file, count)
	fileClose(file)
	return data
end

addEventHandler('onClientResourceStart', resourceRoot,
	function()
		local tx = base64Decode(decodeString("tea", loadFile('assets/images/bg.pngc'), {key = 'test1234'}))
		texture = dxCreateTexture(tx)
	end
)

-- server 
function loadFile(path)
    local file = fileOpen(path)
    if not file then
        return false
    end
    local count = fileGetSize(file)
    local data = fileRead(file, count)
    fileClose(file)
    return data
end

local dataimg = encodeString("tea", loadFile('assets/images/bg.png'), {key = 'test1234'})

local file = fileCreate('assets/images/bg.pngc')
fileWrite(file, dataimg)
fileClose(file)

o mais estranho que testei com uma textura de 15 kb e foi normalmente porem essa de 3 kb não quer criar a textura

Edited by Junior Lasted
Link to comment
Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...