<turbo-stream action="append" target="posts_list"><template>    <div class="postbit" id="144552" data-post-id="144552">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="benonymus" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/benonymus/120/31839_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  benonymus
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>but am i not before the request completes?<br>
these logs are from before a response is sent, in the window i think it should work</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="144552" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/how-to-validate-files-uploaded-by-user-effectively/25589/12">Post #11</a>
	                </div>
	            </div>
              <div id="likers-container-144552" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="144552"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #11"></div>
  </section>
</div>
    <div class="postbit" id="144553" data-post-id="144553">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="kokolegorille" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/kokolegorille/120/4784_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  kokolegorille
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>If the file does not exist anymore… I would say You are not. But it’s hard to tell What/How You are doing in controller, without code.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="144553" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/how-to-validate-files-uploaded-by-user-effectively/25589/13">Post #12</a>
	                </div>
	            </div>
              <div id="likers-container-144553" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="144553"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #12"></div>
  </section>
</div>
    <div class="postbit" id="144554" data-post-id="144554">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="benonymus" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/benonymus/120/31839_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  benonymus
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<pre data-code-wrap="elixir"><code class="lang-elixir">  def post_attachment(conn, %{"id" =&gt; id, "attachment" =&gt; attachment}) do
    IO.inspect(attachment)

    IO.inspect(File.exists?("#{attachment.path}/#{attachment.filename}"))
    x = System.cmd("file", ["--mime-type" | ["#{attachment.path}/#{attachment.filename}"]])
    # x = FileInfo.get_info(["#{attachment.path}/#{attachment.filename}"])
    IO.inspect(x)
    caption = conn.params["caption"]

    type =
      if attachment.content_type =~ "image" do
        "photo"
      else
        "document"
      end

    with(
      topic = %Topic{} &lt;- Topics.get_topic_by_hash_id(id),
      user = %User{} &lt;- user_by_rsvp_or_group_token_or_full_user(conn),
      user_topic = %UserTopic{} &lt;- UserTopics.get_user_topic(user.id, topic.id),
      {:ok} &lt;- user_topic_status_check(user_topic),
      {:ok, post} &lt;-
        PostAttachments.create_post_attachment(user, user_topic, %{
          "attachment" =&gt; attachment,
          "caption" =&gt; caption,
          "type" =&gt; type
        })
    ) do
      # Notifier
      if caption != nil &amp;&amp; caption != "" do
        Notifications.notify_users_of_new_topic_post(user, topic, caption, type)
      else
        Notifications.notify_users_of_new_topic_post(user, topic, type)
      end

      # Update group updated_at
      if topic.reference == "group" do
        Groups.update_group_latest_changes(Groups.get_group_by_id(topic.reference_id))
      end

      conn
      |&gt; put_status(200)
      |&gt; put_view(TopicView)
      |&gt; render("200+hash_id.json",
        message: "Attachment on topic was succesful.",
        id: post.post_with_hash.hash_id
      )
    end
  end
</code></pre>
<p>the logs:</p>
<blockquote>
<p>%Plug.Upload{<br>
content_type: “application/pdf”,<br>
filename: “random-grid.pdf”,<br>
path: “/tmp/plug-1569/multipart-1569291658-659131657529395-2”<br>
}<br>
false<br>
{“/tmp/plug-1569/multipart-1569291658-659131657529395-2/random-grid.pdf: cannot open `/tmp/plug-1569/multipart-1569291658-659131657529395-2/random-grid.pdf’ (Not a directory)\n”,<br>
0}<br>
%Arc.File{<br>
binary: nil,<br>
file_name: “random-grid.pdf”,<br>
path: “/tmp/plug-1569/multipart-1569291658-659131657529395-2”<br>
}</p>
</blockquote>
<p>the last piece is form the current arc validator, where it checks the file extension<br>
to me this would mean that “somehow” it doesnt exist when im logging it out, but it exists for arc?</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="144554" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/how-to-validate-files-uploaded-by-user-effectively/25589/14">Post #13</a>
	                </div>
	            </div>
              <div id="likers-container-144554" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="144554"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #13"></div>
  </section>
</div>
    <div class="postbit" id="144555" data-post-id="144555">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="kokolegorille" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/kokolegorille/120/4784_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  kokolegorille
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>oh wait… what about using path only? I am not sure the filename should be included.</p>
<p>from docs…</p>
<p><strong>“multipart-558399-917557-1” is the name Plug gave to our uploaded file.</strong></p>
<p>Filename is just the real name of the file, but the tmp file is called multipart…</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="144555" data-batch-url="/posts/batch_likers">
                        4
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/how-to-validate-files-uploaded-by-user-effectively/25589/15">Post #14</a>
	                </div>
	            </div>
              <div id="likers-container-144555" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="144555"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-solved cat-solved" title="Marked as solution"></div>
  </section>
</div>
    <div class="postbit" id="144558" data-post-id="144558">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="benonymus" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/benonymus/120/31839_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  benonymus
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>wow <img src="https://forum.elixirforum.com/images/emoji/apple/sweat_smile.png?v=15" title=":sweat_smile:" class="emoji" alt=":sweat_smile:" loading="lazy" width="20" height="20"><img src="https://forum.elixirforum.com/images/emoji/apple/crazy_face.png?v=15" title=":crazy_face:" class="emoji" alt=":crazy_face:" loading="lazy" width="20" height="20"><img src="https://forum.elixirforum.com/images/emoji/apple/clap.png?v=15" title=":clap:" class="emoji" alt=":clap:" loading="lazy" width="20" height="20"><img src="https://forum.elixirforum.com/images/emoji/apple/vulcan_salute.png?v=15" title=":vulcan_salute:" class="emoji" alt=":vulcan_salute:" loading="lazy" width="20" height="20"><br>
thanks</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="144558" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/how-to-validate-files-uploaded-by-user-effectively/25589/16">Post #15</a>
	                </div>
	            </div>
              <div id="likers-container-144558" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="144558"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #15"></div>
  </section>
</div>
    <div class="postbit" id="144620" data-post-id="144620">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="dimitarvp" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/dimitarvp/120/38664_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  dimitarvp
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Additionally, <em><strong>never</strong></em> do this:</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">"#{path}/#{filename}"
</code></pre>
<p>Instead, use standard API:</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">Path.join(path, filename)
</code></pre> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="144620" data-batch-url="/posts/batch_likers">
                        6
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/how-to-validate-files-uploaded-by-user-effectively/25589/17">Post #16</a>
	                </div>
	            </div>
              <div id="likers-container-144620" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="144620"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #16"></div>
  </section>
</div>
    <div class="postbit" id="165144" data-post-id="165144">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="volker" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/volker/120/15197_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  volker
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Thanks a lot! I found your post after banging my head against the wall for too many hours. <img src="https://forum.elixirforum.com/images/emoji/apple/sweat_smile.png?v=15" title=":sweat_smile:" class="emoji" alt=":sweat_smile:" loading="lazy" width="20" height="20"></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="165144" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/how-to-validate-files-uploaded-by-user-effectively/25589/18">Post #17</a>
	                </div>
	            </div>
              <div id="likers-container-165144" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="165144"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-last-post cat-last-post" title="Last post!"></div>
  </section>
</div>
</template></turbo-stream><turbo-stream action="replace" target="load-more-container"><template><div id="load-more-container" class="load-more-container">
    <span class="all-loaded">— All posts loaded —</span>
</div></template></turbo-stream>