Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

154
Visualizações
Dar acceso a archivos locales al servidor web

Recién comencé a aprender JavaScript y he estado tratando de cargar un archivo en un servidor web que estoy alojando localmente. Estoy usando un archivo JS de paquete web para iniciar el servidor y el comando "npm run dev", pero creo que algo está mal configurado porque no puedo cargar archivos locales en el servidor web. Sé que Google Chrome tiene esa función de seguridad que le impide acceder a los archivos locales, pero ejecuté Chrome con los argumentos necesarios para deshabilitar esa función de seguridad, pero no funcionó, así que supongo que es mi servidor. Esto es lo que estoy tratando de hacer:

 let uploadFile = document.createElement("input"); uploadFile.type = "file" uploadFile.id = "inputFile" uploadFile.innerText = "Upload File" document.body.appendChild(uploadFile) let fake_path uploadFile.onchange = function () { fake_path = uploadFile.value alert(fake_path) const loader = new GLTFLoader(); loader.load( fake_path, function ( gltf ) { scene.add( gltf.scene ); }, undefined, function ( error ) { console.error( error ); } ); };`

Este es mi archivo común de paquete web:

 const path = require('path'); module.exports = { entry: './src/client/client.ts', module: { rules: [ { test: /\.tsx?$/, use: 'ts-loader', exclude: /node_modules/, }, { test: /\.(glb)$/i, type: 'src/client/', }, ], }, resolve: { alias: { three: path.resolve('./node_modules/three') }, extensions: ['.tsx', '.ts', '.js', '.glb'], }, output: { filename: 'bundle.js', path: path.resolve(__dirname, '../../dist/client'), } };

Y este es mi archivo Dev:

 const { merge } = require('webpack-merge') const common = require('./webpack.common.js') const path = require('path'); module.exports = merge(common, { mode: 'development', devtool: 'eval-source-map', devServer: { static: { directory: path.join(__dirname, '../../dist/client/'), }, hot: true, }, })

¿Estoy haciendo algo mal o por qué no puedo acceder a un archivo local? Este es el error que me da Chrome: Error de cromo

La ayuda sería muy apreciada.

about 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Parece que estás operando bajo varios malentendidos diferentes aquí. Estos son los hechos que los contradicen:

  1. El servidor de desarrollo de Webpack no admite la carga de archivos.
  2. Mientras usa una entrada de archivo para permitir que el usuario seleccione un archivo local, no está haciendo nada para intentar cargarlo en el servidor
  3. El value de una entrada de archivo solo es útil para decirle al usuario el nombre del archivo, está tratando de usarlo como una URL (que el servidor de desarrollo del paquete web no puede resolver para nada útil)

Debe pasar una URL real a loader.load . No el fake_path que obtienes del value de una entrada de archivo.

Puede usar FileReader para leer el archivo y crear una URL de esquema de data: a partir de él. Esta entrada de blog explica cómo .

 <input type="file" /> <script> // Get a reference to the file input const fileInput = document.querySelector('input'); // Listen for the change event so we can capture the file fileInput.addEventListener('change', (e) => { // Get a reference to the file const file = e.target.files[0]; // Encode the file using the FileReader API const reader = new FileReader(); reader.onloadend = () => { console.log(reader.result); // Logs data:<type>;base64,wL2dvYWwgbW9yZ... }; reader.readAsDataURL(file); }); </script>

Luego debe reemplazar console.log(reader.result); con su llamada a loader.load (reemplazando fake_path con reader.result ).

about 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda