Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - magodiesan

#1
Resulta que estoy intentando crear una web donde se suba una imagen al servidor y esta devuelva un link con la imagen. De cierta forma lo logro, solo que cuando le doy clic al link la imagen no se me ve porque le falta el formato, lo que pasa es que quiero que la imagen salga en base64, para lo cual también tengo el código ya escrito, aquí os dejo todo:

Código: html5
<!DOCTYPE html>
<html lang="es" dir="ltr">

<head>
 <meta charset="utf-8">
 <meta name="author" content="Diesan Romero">
 <meta name="description" content="Sube tus imagenes de manera temporal">
 <meta http-equiv="imagetoolbar" content="no">
 <meta http-equiv="pragma" content="no-cache">

 <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
 <link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0/css/bootstrap.min.css" rel="stylesheet">
 <link href="https://cdnjs.cloudflare.com/ajax/libs/mdbootstrap/4.5.0/css/mdb.min.css" rel="stylesheet">
 <link rel="stylesheet" href="src/styles.css">
 <title>Imágenes Momentaneas</title>
</head>

<body oncontextmenu="return false" ondragstart="return false" onselectstart="return false" onkeydown="return false">

 <div class="container-fluid">
   <div class="row justify-content-center mt-5">
     <h1><span>Imágenes Momentáneas</span></h1>
   </div>
   <div class="row justify-content-center mt-4">
     <form action="index.php" method="post"  enctype="multipart/form-data">
       <div class="form">
         <h3 class="row justify-content-center mt-5">Seleccione el tiempo en minutos que estará su imagen en línea</h3>
         <div class="row justify-content-center mt-1">
           <div class="btn-group" role="group">
             <button type="button" class="btn btn-warning">1</button>
             <button type="button" class="btn btn-warning">5</button>
             <button type="button" class="btn btn-warning">15</button>
             <button type="button" class="btn btn-warning">30</button>
             <button type="button" class="btn btn-warning">60</button>
           </div>
         </div>
         <div class="row justify-content-center mt-5">
           <input type="file" name="imagen" id="imagen" class="input-file">
           <label for="imagen" class="btn btn-lg btn-outline-black js-labelFile">
             <i class="icon fa fa-check"></i>
             <span class="js-fileName">Elija la imagen a subir</span>
           </label>
           <input type="submit" class="btn btn-lg btn-red" value="Subir Imagen">
         </div>
       </div>
     </form>
   </div>
 </div>



 <?php
     if (!isset($_FILES['imagen']['tmp_name']) || !file_exists($_FILES['imagen']['tmp_name']) || !is_uploaded_file($_FILES['imagen']['tmp_name'])){

     }
   else {

     $nombre = $_FILES['imagen']['name'];
     $tipo = $_FILES['imagen']['type'];
     $tamano = $_FILES['imagen']['size'];
     $tmpext=explode(".", $nombre);
     $extension = end($tmpext);
     $generado = md5($nombre.rand()).'.'.$extension;
     $nombre = substr($generado, 0,7);

     $carpetaImagenes = $_SERVER['DOCUMENT_ROOT'].DIRECTORY_SEPARATOR.'imagenes-momentaneas/imagenes';
     if (!is_dir($carpetaImagenes)) {
         mkdir($carpetaImagenes, 0775);
     }
     if (!is_writable($carpetaImagenes)) {
         chmod($carpetaImagenes, 0775);
     }

     //Crea la carpeta Uploads
     $carpetaUploads = $carpetaImagenes.DIRECTORY_SEPARATOR.'uploads';
     if (!is_dir($carpetaUploads)) {
         mkdir($carpetaUploads, 0775);
     }

     if (!is_writable($carpetaUploads)) {
         chmod($carpetaUploads, 0775);
     }

     if ($_FILES['imagen']['size'] != 0 && $_FILES['imagen']['type'] === 'image/jpeg' || $_FILES['imagen']['type'] === 'image/jpg' || $_FILES['imagen']['type'] === 'image/png' || $_FILES['imagen']['type'] === 'image/gif')
     {
       // Envia la imagen del directorio temporar al servidor
       move_uploaded_file($_FILES['imagen']['tmp_name'], $carpetaUploads.DIRECTORY_SEPARATOR.$nombre);
       // Path de donde va a estar la imagen ya subida
       $path = $carpetaUploads.DIRECTORY_SEPARATOR.$nombre;
       $enlace = 'http://localhost/imagenes/uploads/'.$nombre.;
       //echo "<img src='data:image/jpg;base64,".base64_encode(file_get_contents($path))."' />";
       echo "<div class='row justify-content-center mt-2'><div class='col-4'><div class='alert alert-success visible' role='alert'>La imagen ha sido subida correctamente. Acá está el enlace directo: <a href='{$enlace}'>{$enlace}</a></div></div></div>";
       }
   }

 ?>

 <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
 <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.13.0/umd/popper.min.js"></script>
 <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0/js/bootstrap.min.js"></script>
 <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mdbootstrap/4.5.0/js/mdb.min.js"></script>
 <script type="text/javascript" src="src/main.js"></script>
</body>

</html>


Alguna idea?
#2
Resulta que tengo este formulario:

Código: php
  <form action="index.php" method="post"  enctype="multipart/form-data">
        <div class="form">
          <h3 class="row justify-content-center mt-5">Seleccione el tiempo en minutos que estará su imagen en línea</h3>
          <div class="row justify-content-center mt-1">
            <div class="btn-group" role="group">
              <button type="button" class="btn btn-warning">1</button>
              <button type="button" class="btn btn-warning">5</button>
              <button type="button" class="btn btn-warning">15</button>
              <button type="button" class="btn btn-warning">30</button>
              <button type="button" class="btn btn-warning">60</button>
            </div>
          </div>
          <div class="row justify-content-center mt-5">
            <input type="file" name="imagen" id="imagen" class="input-file">
            <label for="imagen" class="btn btn-lg btn-outline-black js-labelFile">
              <i class="icon fa fa-check"></i>
              <span class="js-fileName">Elija la imagen a subir</span>
            </label>
            <input type="submit" class="btn btn-lg btn-red" value="Subir Imagen">
          </div>
        </div>
      </form>


No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
#3
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
#4
¿Alguien tiene alguna idea de crear algún lenguaje de programación en Español? Ya que Cramel cayó.
#5
¿Cuál creen que sean la mejor herramienta para extraer metadatos de una imagen?
#6


Estoy usando la librería stdlib de c++ para generar un número aleatorio con la función rand() pero resulta que cada vez que compilo me sale 41:
Código: cpp

#include <iostream>   
#include <stdlib.h>   
using namespace std;

int main() {

    int a = rand();
    cout<<a<<endl;

    system("pause");
    return 0;
}


Estoy aprendiendo C++ ahora y no sé que hago mal.
#7
Quisiera saber ¿Cómo ejecuto comandos bash con Ruby? Quiero crear un asistente en ruby que cree carpetas, las renombre, las borre, apague el pc si deseas ¿Cómo hago esto? ¿Alguna librería? ¿Creen que usando el module Fileutils de ruby resuelva lo del problema con las carpetas y archivos?
#8
Cuando hago la conexion se establece, pero a la hora de hacer la peticion HTTP con el metodo POST me sale el siguiente error:


CitarReferenceError: Usuario is not defined
    at No tienes permitido ver los links. Registrarse o Entrar a mi cuenta (C:\Users\gacar\Desktop\server\server.js:42:24)


mi servidor es este:

Código: php
    const express = require('express');
    const bodyParser = require('body-parser');
    const pug = require('pug');
    const db = require('mongoose');
    const app = express();
    const Schema = db.Schema;
   
   
    //vistas y configuracion
    app.set('view engine', 'pug')
    app.use(bodyParser.urlencoded({ extended: false }))
    app.use(bodyParser.json());
    app.use(express.static('public'));

   


    const usuarios = Schema({
        name:String,
        password:String
    })


    db.model('Usuario', usuarios)


  //peticiones HTTP
    app.get('/', (req,res) => {
    res.render('index');
    console.log('Hiciste una peticion GET');
    });

    app.get('/register', (req, res) => {
        res.render('register')
    })


app.post('/', (req,res) => {
console.log('POST /api/product')
        console.log(req.body)

        let user = new Usuario()
        user.email = req.body.email
        user.password = req.body.password

        user.save((err,saved) =>{
            if(err) res.status(500).send({message: "Error al salver "})
            res.status(200).send({user: saved})
            })
   });


    db.createConnection('mongodb://localhost:27017/project', (err, res) =>{
        app.listen(80, 'localhost', () => {
            console.log("Servidor iniciado correctamente en:  puerto 80");
        })

        if (err) {
            console.log("Error al conectar a la base de datos");
        }else{
           console.log("Base de datos conectada")
        }
    });



en cuanto a la vista, este es mi archivo pug que va a enviar los datos:


Código: php
extends ./layouts.pug
block contenido
body
div(class="container")
form(action='/', method="POST", class="form-signin")
.container
form.form-signin
h2.form-signin-heading Please Login
label.sr-only(for='inputEmail') Email address
input#inputEmail.form-control(type='email', placeholder='Email address', ref="email", name="email" required, autofocus='')
label.sr-only(for='inputPassword') Password
input#inputPassword.form-control(type='password', ref="password", placeholder='Password', required, name="password")
.checkbox
label
input(type='checkbox', value='remember-me')
|  Remember me
a.btn.btn-sm.btn-secondary.btn-block(href="/register") Sign Up
button.btn.btn-lg.btn-primary.btn-block(type='submit') Log in


Que esta fallando?



#9
Dudas y pedidos generales / NodeJS y C\C++
Mayo 17, 2017, 09:58:21 PM
¿Alguien ha experimentado algún proyecto o código implique el módulo C\C++ Addons de NodeJS?

Si es así me gustaría verlo y me cuenten sus experiencias, soy estudiante de NodeJS.
#10
Dicen que los dominios .com.ar para argentinos son gratis para los argentinos. Me gustaría que algun argentino me consiguiera uno.
#11
Alguien conoce algún PDF o tutorial en español que explique la sintaxis de Hack?
#12

Las amenazas a la seguridad aeroportuaria está de moda y como expresa la fuente, si existe. Estos a ataques son usados de manera no muy frecuente por quienes hoy practican el terrorismo. Aquellos usan métodos tradicionales para el desarrollo de estos ataques.

IATA está aplicando una estrategia para hacer frente a la ciber delincuencia en contra de la aviación comercial, No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

#13
Ideas y Sugerencias / Zona de Descargas
Enero 10, 2017, 10:29:34 PM
Deberia existir una zona de descarga en el foro, no la de recursos, sino una de carga y descarga para documentos pdf por ejemplo.
#14
Mi nombre es Diesan Romero y me dedico al diseño web frontend. Todo un novato en programación con antecedentes de destructor profesional de computadoras por estar jugando todo el tiempo.  ;D

Fuera del tema podéis contar conmigo para lo que sea. Mis amigos me llaman mago, ustedes también lo pueden hacer. Gracias por aceptarme en su comunidad.
#15

Entrando en tema, solicitó ayuda con algo. Mi Laptop se rompió, la pantalla se queda en blanco y se debe a los conectores que la conectan con el teclado y el resto de la pc. No hay solución y si la hay sería muy costosa, por ende decidí buscar un sitio donde pueda programar frontend desde mi iPad y pueda guardar código, etc. Ya que estoy trabajando en un proyecto que no quiero abandonar.

Si alguien conoce de algún sitio web para poder desarrollar Frontend, desde iPad, agradecería que comentara.

Saludos cordiales, atte Diesan.