Загрузка изображения аватара без загрузки страницы

#php #javascript #jquery #ajax #upload

#php #javascript #jquery #ajax #загрузка

Вопрос:

Я хочу добавить функцию загрузки изображения аватара в свой проект, и мне было интересно, существует ли какое-либо решение AJAX / jQuery для загрузки изображения без необходимости обновлять страницу после загрузки (изображение загружается автоматически).

Ответ №1:

Я использовал http://www.uploadify.com в нескольких проектах, и это отлично работает.

Ответ №2:

По-видимому, это может это сделать, еще не пробовал.

http://www.plupload.com/

Ответ №3:

Вы могли бы использовать iframe в качестве цели, чтобы избежать полной перезагрузки страницы:

 <form method="post" action="your_action" enctype="multipart/form-data" target="myIframe">
   <input type="file" name="image" />
   <input type="submit" value="Upload image" />
</form>

<iframe name="myIframe" id="myIframe">
   //Post response will load here
</iframe>
  

Ответ №4:

попытка обновить панель с помощью триггера НЕ РАБОТАЕТ!!

НЕ РАБОТАЕТ:

 <asp:UpdatePanel ID="UpdatePanel1" runat="server" ChildrenAsTriggers="true"                                                           UpdateMode="Conditional" >
  <ContentTemplate>
     <asp:Repeater ID="rpUploadedImages" runat="server">
       <ItemTemplate>
        <img src='../Images/<%# DataBinder.Eval(Container.DataItem, "ImagePath")%>'/><br />
       </ItemTemplate>
     </asp:Repeater>
   </ContentTemplate>
   <Triggers>
       <asp:AsyncPostBackTrigger ControlID="btnupload" EventName="click" />
   </Triggers>
 </asp:UpdatePanel>

<asp:FileUpload ID="FileUpload1" runat="server" /><br />
<asp:Button ID="btnupload" runat="server" Text="Upload" onclick="btnupload_Click" />
  

ВЫПОЛНЯЙТЕ РАБОТУ:

итак, вам нужно поместить весь тег FileUpload на отдельную страницу и вызвать его в iframe на вашей главной странице и, конечно, сохранить кнопку «Загрузить» в iframe; таким образом, при нажатии на кнопку «Загрузить» один iframe будет обновляться без обновления всей страницы. (хорошо протестировано)