Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.09.2020, 20:57
Аспирант
Отправить личное сообщение для riaron Посмотреть профиль Найти все сообщения от riaron
 
Регистрация: 16.08.2020
Сообщений: 53

не показывает изображение
не показывает хотя в содержимом страницы этот код есть.
<img src="C:\xampp\htdocs\mysite.local/files/sphoto/610189311633orig.jpg">

Сервер никаких ошибок не выдает
вот код
var express = require('express');
var mysql = require('mysql');
const fileUpload = require('express-fileupload');
var app = express();
const bodyParser = require("body-parser");
app.use(fileUpload());
app.use('/smart', express.static(__dirname + '/files/sphoto/'));
///
///	Create connection to MySQL database server.
/// 
function getMySQLConnection() {
	return mysql.createConnection({
	  host     : 'localhost',
	  user     : 'root',
	  password : '',
	  database : 'elektronika'
	});
}

app.set('view engine', 'pug');
app.get('/smart', function(req, res) {
	var smartphopneList = [];

	// Connect to MySQL database.
	var connection = getMySQLConnection();
	connection.connect();

	// Do the query to get data.
	connection.query('SELECT `id`,`prod`,`name`,`sim`,`display`,`razresh`,`acum`,`proc`,`oper`,`sd`,`cam`,`gps`,`description`,`giroscope`,`payment`,`photo` FROM `smartphone` ', function(err, rows, fields) {
	  	if (err) {
	  		res.status(500).json({"status_code": 500,"status_message": "internal server error"});
	  	} else {
	  		// Loop check on each row
	  		for (var i = 0; i < rows.length; i++) {

	  			// Create an object to save current row's data
		  		var smartphopne = {
		  			'id':rows[i].id,
		  			'prod':rows[i].prod,
		  			'name':rows[i].name,
		  			'sim':rows[i].sim,
		  			'display':rows[i].display,
		  			'razresh':rows[i].acum,
		  			'acum':rows[i].acum,
		  			'proc':rows[i].proc,
		  			'oper':rows[i].oper,
		  			'sd':rows[i].sd,
		  			'cam':rows[i].cam,
		  			'gps':rows[i].gps,
		  			'description':rows[i].description,
		  			'giroscope':rows[i].giroscope,
		  			'payment':rows[i].payment,
		  			'photo':rows[i].photo
		  		}
		  		// Add object into array
		  		smartphopneList.push(smartphopne);
	  	}

	  	// Render index.pug page using array 
	  	res.render('index', {"smartphopneList": smartphopneList});
	  	}
	});

	// Close the MySQL connection
	connection.end();
	
});

вот пуг
html
	head
		title= '123'
		style
			include style.css
			include bootstrap.css

	body
		h1= 'Person List'
	table
		for smart in smartphopneList
			div= "id" + smart.id
			img(src=""+smart.photo+"")
			div= "Производитель: " + smart.prod
			div='Модель: ' + smart.name
			div='Количество СИМ карт: ' + smart.sim
			div='Диагональ дисплея: ' + smart.display
			div='Разрешение дисплея: ' + smart.razresh
			div='Аккумулятор: ' + smart.acum
			div='Процессор: ' + smart.proc
			div='Поддержка SD: ' + smart.sd
			div='Камеры: ' + smart.cam
			div='Датчик GPS: ' + smart.gps
			div='Описание: ' + smart.description
			div='Гироскоп: ' + smart.giroscope
			div='Безконтактная оплата: ' + smart.payment

Последний раз редактировалось riaron, 05.09.2020 в 22:43.
Ответить с цитированием
  #2 (permalink)  
Старый 06.09.2020, 10:09
Аватар для MC-XOBAHCK
Профессор
Отправить личное сообщение для MC-XOBAHCK Посмотреть профиль Найти все сообщения от MC-XOBAHCK
 
Регистрация: 06.08.2017
Сообщений: 473

А если так попробовать:
<img src="/files/sphoto/610189311633orig.jpg">

типа как от корня сайта.

Ещё возможно что используется система которая в htaccess файле имеет белый список директорий. Тогда нужно добавить директорию files в белый лист.
Ответить с цитированием
  #3 (permalink)  
Старый 06.09.2020, 13:45
Аспирант
Отправить личное сообщение для riaron Посмотреть профиль Найти все сообщения от riaron
 
Регистрация: 16.08.2020
Сообщений: 53

не помогло
Ответить с цитированием
  #4 (permalink)  
Старый 06.09.2020, 20:04
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от riaron
хотя в содержимом страницы этот код есть
Такого пути src="C:\..... даже на локальном сервере, не говоря уже о удаленном, быть не должно.
Ответить с цитированием
  #5 (permalink)  
Старый 08.09.2020, 13:32
Аспирант
Отправить личное сообщение для riaron Посмотреть профиль Найти все сообщения от riaron
 
Регистрация: 16.08.2020
Сообщений: 53

при неправильном вводе адреса показывает что неправильный путь, при правильном ничего не показывает
Ответить с цитированием
  #6 (permalink)  
Старый 08.09.2020, 16:50
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Я не знаю node, какие проблемы на нем, но путь он и в Африке путь. Абсолютный путь вы может только наблюдать, если обращаетесь к файлу по такому пути. При это в Windows это будет путь x:\a\b\name.ext, а не разнокалиберные слеши. А подставлять пути абсолютные в src нельзя, так как реально таких путей у клиентов не будет. И ручной ввод путей в редких случаях требуется, пути формируются скриптом, в противном случае это большие проблемы.

Сформируйте путь относительный, выведите на экран имя каталога текущего, относительно его и постройте путь, проверьте.
Ответить с цитированием
  #7 (permalink)  
Старый 08.09.2020, 21:00
Аспирант
Отправить личное сообщение для riaron Посмотреть профиль Найти все сообщения от riaron
 
Регистрация: 16.08.2020
Сообщений: 53

вставляю относительный путь показывает что неверное изображение
Ответить с цитированием
  #8 (permalink)  
Старый 09.09.2020, 02:34
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Значит в отладчике браузера проверить к чему реально обращение - если на src изображения в инспекторе навести мышь, то будет показан полный путь начинания с домена. Если он правильный, значит точно с файлом проблемы.
Ответить с цитированием
  #9 (permalink)  
Старый 13.09.2020, 12:20
Аспирант
Отправить личное сообщение для riaron Посмотреть профиль Найти все сообщения от riaron
 
Регистрация: 16.08.2020
Сообщений: 53

надо было путь писать принимая во внимание app.use('/smart', express.static(__dirname + '/files/sphoto/'));
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как избежать ошибки по ограничению открытых файлов? Tipylja Node.JS 3 17.08.2018 19:43
Показать изображение с диска niko42 Общие вопросы Javascript 4 05.06.2014 18:26
Вывести изображение после ввода URL без перезагрузки страницы Delfiniys Элементы интерфейса 5 18.10.2013 11:41
JS загружает изображение всегда с локального кэша - почему? buhpro Общие вопросы Javascript 4 02.10.2013 21:01
Как предварительно загруженное изображение сделать бэкграундом? hrundel Общие вопросы Javascript 1 02.08.2009 12:45