<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://wiki.integrator.com.br/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pt-br">
		<id>https://wiki.integrator.com.br/index.php?action=history&amp;feed=atom&amp;title=Exemplo_de_upload_de_arquivos_com_Node.js</id>
		<title>Exemplo de upload de arquivos com Node.js - Histórico de revisão</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.integrator.com.br/index.php?action=history&amp;feed=atom&amp;title=Exemplo_de_upload_de_arquivos_com_Node.js"/>
		<link rel="alternate" type="text/html" href="https://wiki.integrator.com.br/index.php?title=Exemplo_de_upload_de_arquivos_com_Node.js&amp;action=history"/>
		<updated>2026-04-15T12:31:15Z</updated>
		<subtitle>Histórico de revisões para esta página neste wiki</subtitle>
		<generator>MediaWiki 1.21.2</generator>

	<entry>
		<id>https://wiki.integrator.com.br/index.php?title=Exemplo_de_upload_de_arquivos_com_Node.js&amp;diff=7999&amp;oldid=prev</id>
		<title>Integratorhost em 18h36min de 17 de julho de 2025</title>
		<link rel="alternate" type="text/html" href="https://wiki.integrator.com.br/index.php?title=Exemplo_de_upload_de_arquivos_com_Node.js&amp;diff=7999&amp;oldid=prev"/>
				<updated>2025-07-17T18:36:49Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr style='vertical-align: top;'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Edição anterior&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Edição das 18h36min de 17 de julho de 2025&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Linha 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Linha 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:Wiki-&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;node&lt;/del&gt;-&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;next&lt;/del&gt;-&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;puppeteer&lt;/del&gt;.jpg|center| 700px||border|link=https://integrator.com.br/plano-&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;hospedagem&lt;/del&gt;-&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;php-nodejs.html&lt;/del&gt;|Planos &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Nodejs&lt;/del&gt;|]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:Wiki-&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;banner&lt;/ins&gt;-&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;icp&lt;/ins&gt;-&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;2025&lt;/ins&gt;.jpg|center| 700px||border|link=https://integrator.com.br/plano-&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;vps&lt;/ins&gt;-&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;icp&lt;/ins&gt;|Planos &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;VPS ICP&lt;/ins&gt;|]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Antes de começar ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Antes de começar ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Integratorhost</name></author>	</entry>

	<entry>
		<id>https://wiki.integrator.com.br/index.php?title=Exemplo_de_upload_de_arquivos_com_Node.js&amp;diff=7377&amp;oldid=prev</id>
		<title>Integratorhost em 03h32min de 17 de julho de 2024</title>
		<link rel="alternate" type="text/html" href="https://wiki.integrator.com.br/index.php?title=Exemplo_de_upload_de_arquivos_com_Node.js&amp;diff=7377&amp;oldid=prev"/>
				<updated>2024-07-17T03:32:53Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr style='vertical-align: top;'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Edição anterior&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Edição das 03h32min de 17 de julho de 2024&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Linha 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Linha 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[File:Wiki-node-next-puppeteer.jpg|center| 700px||border|link=https://integrator.com.br/plano-hospedagem-php-nodejs.html|Planos Nodejs|]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Antes de começar ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Antes de começar ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Integratorhost</name></author>	</entry>

	<entry>
		<id>https://wiki.integrator.com.br/index.php?title=Exemplo_de_upload_de_arquivos_com_Node.js&amp;diff=7321&amp;oldid=prev</id>
		<title>Integratorhost: Integratorhost moveu a página Exemplo de upload de arquivos com nodeJS para Exemplo de upload de arquivos com Node.js sem deixar um redirecionamento</title>
		<link rel="alternate" type="text/html" href="https://wiki.integrator.com.br/index.php?title=Exemplo_de_upload_de_arquivos_com_Node.js&amp;diff=7321&amp;oldid=prev"/>
				<updated>2024-01-18T17:22:14Z</updated>
		
		<summary type="html">&lt;p&gt;Integratorhost moveu a página &lt;a href=&quot;/index.php?title=Exemplo_de_upload_de_arquivos_com_nodeJS&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Exemplo de upload de arquivos com nodeJS (página inexistente)&quot;&gt;Exemplo de upload de arquivos com nodeJS&lt;/a&gt; para &lt;a href=&quot;/index.php?title=Exemplo_de_upload_de_arquivos_com_Node.js&quot; title=&quot;Exemplo de upload de arquivos com Node.js&quot;&gt;Exemplo de upload de arquivos com Node.js&lt;/a&gt; sem deixar um redirecionamento&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
			&lt;tr style='vertical-align: top;'&gt;
			&lt;td colspan='1' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Edição anterior&lt;/td&gt;
			&lt;td colspan='1' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Edição das 17h22min de 18 de janeiro de 2024&lt;/td&gt;
			&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Integratorhost</name></author>	</entry>

	<entry>
		<id>https://wiki.integrator.com.br/index.php?title=Exemplo_de_upload_de_arquivos_com_Node.js&amp;diff=7167&amp;oldid=prev</id>
		<title>Integratorhost em 15h23min de 25 de setembro de 2023</title>
		<link rel="alternate" type="text/html" href="https://wiki.integrator.com.br/index.php?title=Exemplo_de_upload_de_arquivos_com_Node.js&amp;diff=7167&amp;oldid=prev"/>
				<updated>2023-09-25T15:23:58Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr style='vertical-align: top;'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Edição anterior&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Edição das 15h23min de 25 de setembro de 2023&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Linha 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Linha 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[File:Nodepromo-2021.jpg|center| 700px||border|link=https://integrator.com.br/plano-hospedagem-php-nodejs|Planos promocionais|]]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;----&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Antes de começar ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Antes de começar ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Integratorhost</name></author>	</entry>

	<entry>
		<id>https://wiki.integrator.com.br/index.php?title=Exemplo_de_upload_de_arquivos_com_Node.js&amp;diff=7144&amp;oldid=prev</id>
		<title>Integratorhost em 04h05min de 9 de agosto de 2023</title>
		<link rel="alternate" type="text/html" href="https://wiki.integrator.com.br/index.php?title=Exemplo_de_upload_de_arquivos_com_Node.js&amp;diff=7144&amp;oldid=prev"/>
				<updated>2023-08-09T04:05:42Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr style='vertical-align: top;'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Edição anterior&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Edição das 04h05min de 9 de agosto de 2023&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Linha 10:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Linha 10:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;O exemplo disponibilizado cria um servidor que permite aos clientes enviar arquivos por meio de um formulário, onde os arquivos são armazenados no diretório &amp;quot;'''uploads'''&amp;quot;, e os nomes dos arquivos enviados são exibidos e acessíveis por meio de uma rota, no exemplo &amp;quot;'''/listar'''&amp;quot;.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;O exemplo disponibilizado cria um servidor que permite aos clientes enviar arquivos por meio de um formulário, onde os arquivos são armazenados no diretório &amp;quot;'''uploads'''&amp;quot;, e os nomes dos arquivos enviados são exibidos e acessíveis por meio de uma rota, no exemplo &amp;quot;'''/listar'''&amp;quot;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Para baixar o exemplo completo, [http://wiki.integrator.com.br/exemplos/exemplonodeupload.zip Clique Aqui.]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;span style=&amp;quot;color:green;&amp;quot;&amp;gt; &lt;/ins&gt;Para baixar o exemplo completo, [http://wiki.integrator.com.br/exemplos/exemplonodeupload.zip Clique Aqui.] &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/span&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Integratorhost</name></author>	</entry>

	<entry>
		<id>https://wiki.integrator.com.br/index.php?title=Exemplo_de_upload_de_arquivos_com_Node.js&amp;diff=7132&amp;oldid=prev</id>
		<title>Integratorhost em 21h01min de 8 de agosto de 2023</title>
		<link rel="alternate" type="text/html" href="https://wiki.integrator.com.br/index.php?title=Exemplo_de_upload_de_arquivos_com_Node.js&amp;diff=7132&amp;oldid=prev"/>
				<updated>2023-08-08T21:01:33Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr style='vertical-align: top;'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Edição anterior&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Edição das 21h01min de 8 de agosto de 2023&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Linha 106:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Linha 106:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; cd applications/exemplonodeupload&amp;#160; - Local onde esta localizado o aplicativo que foi feito deploy&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; cd applications/exemplonodeupload&amp;#160; - Local onde esta localizado o aplicativo que foi feito deploy&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;3. Tambem pode ser acessado &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;co &lt;/del&gt;ambiente virtual copiando o caminho que é informado no painel ao lado do nome do aplicativo no sinal de interrogação, como por exemplo:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;3. Tambem pode ser acessado &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;o &lt;/ins&gt;ambiente virtual copiando o caminho que é informado no painel ao lado do nome do aplicativo no sinal de interrogação, como por exemplo:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; source ~/nodevenv/exemplonodeupload/bin/activate &amp;amp;&amp;amp; cd ~/applications/exemplonodeupload&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; source ~/nodevenv/exemplonodeupload/bin/activate &amp;amp;&amp;amp; cd ~/applications/exemplonodeupload&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Integratorhost</name></author>	</entry>

	<entry>
		<id>https://wiki.integrator.com.br/index.php?title=Exemplo_de_upload_de_arquivos_com_Node.js&amp;diff=7128&amp;oldid=prev</id>
		<title>Integratorhost: Criou página com 'Planos promocionais|   ----  == Antes de começar == As orientaç...'</title>
		<link rel="alternate" type="text/html" href="https://wiki.integrator.com.br/index.php?title=Exemplo_de_upload_de_arquivos_com_Node.js&amp;diff=7128&amp;oldid=prev"/>
				<updated>2023-08-08T20:08:26Z</updated>
		
		<summary type="html">&lt;p&gt;Criou página com &amp;#039;&lt;a href=&quot;/index.php?title=Arquivo:Nodepromo-2021.jpg&quot; title=&quot;Arquivo:Nodepromo-2021.jpg&quot;&gt;File:Nodepromo-2021.jpg&lt;/a&gt;   ----  == Antes de começar == As orientaç...&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nova&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[File:Nodepromo-2021.jpg|center| 700px||border|link=https://integrator.com.br/plano-hospedagem-php-nodejs|Planos promocionais|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Antes de começar ==&lt;br /&gt;
As orientações contidas neste tutorial exigem o painel Integrator Node.js. Caso seu plano não possua suporte ao '''Node.js''', converse com o nosso '''comercial''' sobre planos disponíveis.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Sobre o tutorial ==&lt;br /&gt;
O exemplo disponibilizado cria um servidor que permite aos clientes enviar arquivos por meio de um formulário, onde os arquivos são armazenados no diretório &amp;quot;'''uploads'''&amp;quot;, e os nomes dos arquivos enviados são exibidos e acessíveis por meio de uma rota, no exemplo &amp;quot;'''/listar'''&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Para baixar o exemplo completo, [http://wiki.integrator.com.br/exemplos/exemplonodeupload.zip Clique Aqui.]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== O arquivo server.js ==&lt;br /&gt;
O arquivo '''server.js''' possui o código apresentado na Listagem abaixo. Veja o detalhe da porta que não é definida diretamente. Usamos a variável '''process.env.PORT''' para que o painel forneça a porta.&lt;br /&gt;
&lt;br /&gt;
Toda explicação detalhada do arquivo '''server.js''', esta descrita no exemplo completo disponível para baixar, citado mais acima. Ao abrir o arquivo '''server.js''', comentamos e explicamos cada linha apresentada do código.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
const express = require('express');&lt;br /&gt;
&lt;br /&gt;
const multer  = require('multer');&lt;br /&gt;
&lt;br /&gt;
const path    = require('path');&lt;br /&gt;
&lt;br /&gt;
let uploadedFiles = [];&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
const app = express();&lt;br /&gt;
const port = process.env.PORT //aqui será a porta que o PM2 irá colocar&lt;br /&gt;
//const port = 3000;&lt;br /&gt;
&lt;br /&gt;
const storage = multer.diskStorage({&lt;br /&gt;
    &lt;br /&gt;
    destination: (req, file, cb) =&amp;gt; {&lt;br /&gt;
        cb(null, 'uploads/');&lt;br /&gt;
    },&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    filename: (req, file, cb) =&amp;gt; {&lt;br /&gt;
        cb(null, Date.now() + path.extname(file.originalname));&lt;br /&gt;
    }&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
const upload = multer({ storage: storage });&lt;br /&gt;
&lt;br /&gt;
app.get('/', (req, res) =&amp;gt; {&lt;br /&gt;
    console.log(&amp;quot;ROTA recebida para / RAIZ do seu Domínio&amp;quot;);&lt;br /&gt;
    res.sendFile(path.join(__dirname, 'index.html'));&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
app.post('/upload', upload.single('sampleFile'), (req, res) =&amp;gt; {&lt;br /&gt;
    if (!req.file) {&lt;br /&gt;
        return res.send('Por favor, selecione um arquivo para fazer upload.');&lt;br /&gt;
    }&lt;br /&gt;
    uploadedFiles.push(req.file.filename);&lt;br /&gt;
    res.send('Arquivo enviado com sucesso!');&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
const fs = require('fs');&lt;br /&gt;
app.get('/listar', (req, res) =&amp;gt; {&lt;br /&gt;
    fs.readdir(path.join(__dirname, 'uploads'), (err, files) =&amp;gt; {&lt;br /&gt;
        if (err) {&lt;br /&gt;
            return res.status(500).send('Erro ao listar os arquivos.');&lt;br /&gt;
        }&lt;br /&gt;
        res.json(files);&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
app.listen(port, function(){  &lt;br /&gt;
    console.info(`Server running in the port ${port}`);&lt;br /&gt;
});&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Subindo o aplicativo e registrando no Integrator Node.js ==&lt;br /&gt;
&lt;br /&gt;
1. Para o deploy através do painel, use a aba '''Deploy''' e selecione o arquivo compactado .zip.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Em seguida, com upload feito corretamente e com sucesso, basta clicar para configurar o aplicativo no domínio/subdomínio&lt;br /&gt;
&lt;br /&gt;
3. O registro do aplicativo ocorre quando ele já foi levado ao servidor, no diretório do seu usuário. O aplicativo precisa ser registrado para que ele se torne funcional no servidor, tanto no acesso através da porta definida, como também pelo domínio.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File: 2023-08-08_13-44.png ‎|Figura: Registrando o aplicativo pelo painel|thumb|600px|none|alt=Registro do aplicativo|link=]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''O nome do aplicativo''' - Ele será identificado nas configurações do usuário;&amp;lt;br&amp;gt;&lt;br /&gt;
* '''Dominio para Deploy''' - Selecione o domínio/subdomínio onde irá acessar o aplicativo; &amp;lt;br&amp;gt;&lt;br /&gt;
* '''A URL do Aplicação''' - A raiz do domínio é para manter barra '''/''' apenas. Se colocar '''/outronome''', o aplicativo só será visível quando acessar essa URI;&amp;lt;br&amp;gt;&lt;br /&gt;
* '''Nodejs do Aplicativo''' - A versão do Node.js que vai operar em seu aplicativo;&amp;lt;br&amp;gt;&lt;br /&gt;
* '''Memoria do Aplicativo''' - A memória que será definida no aplicativo;&amp;lt;br&amp;gt;&lt;br /&gt;
* '''Index do Aplicativo''' - O arquivo inicial do aplicativo Node.js;&amp;lt;br&amp;gt;&lt;br /&gt;
* '''Caminho do aplicativo''' - O caminho onde se encontra o aplicativo. Se subir pelo painel, o deploy fica no diretorio '''applications/''' do seu usuário. O nome precisa ter o diretório onde se obtém ao descompactar o aplicativo, por exemplo;&amp;lt;br&amp;gt;&lt;br /&gt;
* '''Porta do Aplicativo''' - A porta que será executado o aplicativo Node.js através do PM2;&amp;lt;br&amp;gt;&lt;br /&gt;
* '''Modo de execução''' - O modo de execução do aplicativo. Pode ser '''Desenvolvimento''' ou '''Produção'''. O modo '''Desenvolvimento''' exibe erros em caso de falhas da execução;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Instalando as dependências ==&lt;br /&gt;
1. Em '''Ação''', ainda na aba '''Aplicativos''', clique no ícone '''Terminal'''.&lt;br /&gt;
[[File: Acesso-terminal-painel-nodejs.jpg ‎|frame|none|alt=Alt text|link=]]&lt;br /&gt;
&lt;br /&gt;
2. No '''Terminal''' basta entrar no ambiente virtual para executar o npm. O comando npm é reconhecido assim que entra na pasta de seu aplicativo, ou seja, acesse o diretório onde esta localizado seu aplicativo, como por exemplo:&lt;br /&gt;
&lt;br /&gt;
 cd applications/exemplonodeupload  - Local onde esta localizado o aplicativo que foi feito deploy&lt;br /&gt;
&lt;br /&gt;
3. Tambem pode ser acessado co ambiente virtual copiando o caminho que é informado no painel ao lado do nome do aplicativo no sinal de interrogação, como por exemplo:&lt;br /&gt;
&lt;br /&gt;
 source ~/nodevenv/exemplonodeupload/bin/activate &amp;amp;&amp;amp; cd ~/applications/exemplonodeupload&lt;br /&gt;
&lt;br /&gt;
4. Agora, execute o comando '''npm install''' que lerá seu arquivo '''package.js''' e recriará o diretório node_modules com as respectivas dependências:&lt;br /&gt;
 &lt;br /&gt;
 npm install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Iniciando o aplicativo pelo painel ==&lt;br /&gt;
Na aba '''Aplicativos''', você pode iniciar o projeto através do ícone de Start e Stop do aplicativo.&lt;br /&gt;
&lt;br /&gt;
[[File: start-stop-nodejs-javascript-express.jpg ‎|none|alt=Alt text|link=]]&lt;br /&gt;
&lt;br /&gt;
== Iniciando o aplicativo via terminal SSH ==&lt;br /&gt;
Dentro do diretório virtual do aplicativo, basta digitar o seguinte comando:&amp;lt;br&amp;gt;&lt;br /&gt;
 pm2 start app.yaml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Exemplo de teste realizado ==&lt;br /&gt;
&lt;br /&gt;
Com o aplicativo registrado e iniciado corretamente com sucesso, temos o acesso testado e 100% funcional, no qual demonstramos em imagens abaixo:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File: 2023-08-08_13-59.png ‎|thumb|500px|none|alt=Alt text|link=]]&lt;br /&gt;
&lt;br /&gt;
[[File: 2023-08-08_13-58.png ‎|thumb|500px|none|alt=Alt text|link=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''PS: Lembrando que este endereço de acesso foi utilizado para testes e acessa-lo no momento não reproduz o uso do aplicativo de teste. '''&lt;br /&gt;
&lt;br /&gt;
'''Testes de acesso deve ser realizado com seu domínio e/ou subdomínio de acesso no qual registrou seu aplicativo.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Logs ==&lt;br /&gt;
A aba de Logs apresenta saídas informativas realizadas pelo PM2, assim como erros ou informações que seu aplicativo lançar.&lt;br /&gt;
&lt;br /&gt;
[[Categoria:PAINEL INTEGRATOR NODE.JS]]&lt;br /&gt;
[[Categoria:TUTORIAIS]]&lt;/div&gt;</summary>
		<author><name>Integratorhost</name></author>	</entry>

	</feed>