Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > ASP.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.04.2015, 19:59   #1
linkoln_7
Форумчанин
 
Регистрация: 04.03.2013
Сообщений: 164
По умолчанию Загрузка изображения с ajax jquery

Здравствуйте,подскажите,пожалуйста, как правильно реализовать загрузку изображения на сервер без перезагрузки страницы.С перезагрузкой нормально загружается
1)pos.aspx
Код:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="pos.aspx.cs" Inherits="pos" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.js"></script>
    <script src="//ajax.aspnetcdn.com/ajax/jquery.ui/1.10.3/jquery-ui.min.js"></script>
    <script language="javascript">
        $("#mainForm").submit(function (event) {
            event.preventDefault();
            var data = new FormData($('#mainForm')[0]);
            $.ajax({
                type: "POST",
                url: "pr_per.aspx",
                data: data,
                contentType: false,
                processData: false,
                beforeSend: function () {
                    $('#loader').show();
                }
            })
        });
  
    </script>
</head>
<body>
<form id="mainForm" runat="server" enctype="multipart/form-data" >
 <input type="file" id="myFile" name="myFile" />
 <asp:Button runat="server" ID="btnUpload"  Text="Upload" />
</form>
</body>
</html>
2)pr_per.aspx

Код:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="pr_per.aspx.cs" Inherits="pr_per" %>
Код:
<% HttpPostedFile file = Request.Files["myFile"]; if (file != null && file.ContentLength > 0) { string fname = Path.GetFileName(file.FileName); file.SaveAs(Server.MapPath(Path.Combine("~/img/", fname))); } %>
Вот код,который был просто на кнопку,с перезагрузкой
pos.aspx.cs
Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;

public partial class pos : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void btnUploadClick(object sender, EventArgs e)
    {
        HttpPostedFile file = Request.Files["myFile"];

       
        if (file != null && file.ContentLength > 0)
        {
            string fname = Path.GetFileName(file.FileName);
            file.SaveAs(Server.MapPath(Path.Combine("~/img/", fname)));
        }
    }
}
Заранее большое спасибо
linkoln_7 вне форума Ответить с цитированием
Старый 13.04.2015, 21:49   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Дык и что именно происходит-то?
Что не работает?
Что запрос возвращает после вызова ajax?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 13.04.2015, 23:14   #3
linkoln_7
Форумчанин
 
Регистрация: 04.03.2013
Сообщений: 164
По умолчанию

Ничего не происходит.Еще проблема не знаю как pr_per.aspx подключить IO библиотеку.
linkoln_7 вне форума Ответить с цитированием
Старый 14.04.2015, 09:23   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Чего ничего? Запрос выполняется? Что возвращается? JS ошибки в консоли есть?
F12 в помощь.

И зачем вам в aspx "IO библиотека"? Обычно во View не должно ничего такого происходить.
Но таки там есть
Код:
<%@ Import Namespace="...
Первая ссылка в гугле https://www.google.com/search?q=aspx+file+namespace
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 14.04.2015 в 09:33.
Alex11223 вне форума Ответить с цитированием
Старый 14.04.2015, 14:17   #5
linkoln_7
Форумчанин
 
Регистрация: 04.03.2013
Сообщений: 164
По умолчанию

io библиотека для страницы pr_per.aspx
Код:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="pr_per.aspx.cs" Inherits="pr_per" %>
<%@ Import Namespace="System.IO" %>
<%
    HttpPostedFile file = Request.Files["myFile"];
    if (file != null && file.ContentLength > 0)
    {
        string fname = Path.GetFileName(file.FileName);
        file.SaveAs(Server.MapPath(Path.Combine("~/img/", fname)));
    }
    %>
В консоли ошибок нет.Вот что в network
Изображения
Тип файла: jpg upload.jpg (28.1 Кб, 139 просмотров)
linkoln_7 вне форума Ответить с цитированием
Старый 14.04.2015, 14:40   #6
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

И что в Network? Я не вижу тут этого запроса.

Цитата:
io библиотека для страницы pr_per.aspx
Я о том, что вряд ли это хорошая идея пихать весь этот код в саму страницу ("view").
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 14.04.2015 в 14:43.
Alex11223 вне форума Ответить с цитированием
Старый 14.04.2015, 14:45   #7
linkoln_7
Форумчанин
 
Регистрация: 04.03.2013
Сообщений: 164
По умолчанию

Когда я выбираю изображение и нажимаю upload именно это и происходит
вот сам ajax
Код:
  $("#mainForm").submit(function (event) {
            event.preventDefault();
            var data = new FormData($('#mainForm')[0]);
            $.ajax({
                type: "POST",
                url: "pr_per.aspx",
                data: data,
                contentType: false,
                processData: false,
                beforeSend: function () {
                    $('#loader').show();
                }
            })
        });
linkoln_7 вне форума Ответить с цитированием
Старый 14.04.2015, 15:19   #8
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
именно это и происходит
Да ну? Где вы на том скриншоте видите запрос к
Код:
url: "pr_per.aspx"
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 14.04.2015, 17:31   #9
linkoln_7
Форумчанин
 
Регистрация: 04.03.2013
Сообщений: 164
По умолчанию

Так я вот и не знаю,видимо где то с ajax накосячил
linkoln_7 вне форума Ответить с цитированием
Старый 14.04.2015, 17:56   #10
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Скорее всего вы подписываетесь на submit формы когда ее еще нет.
Засуньте подписывание в
Код:
$(document).ready(function() {
Но тогда по идее сейчас должна была форма отправляться как просто без ajax. В консоли точно нет ошибок при нажатии?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Загрузка изображения через jquery ajax lansh JavaScript, Ajax 8 03.01.2013 22:42
Загрузка Яндекс-Карты через Ajax. JQuery. Mr_freeman JavaScript, Ajax 3 30.03.2012 22:31
jquery ajax gunsoy JavaScript, Ajax 5 11.10.2011 21:59
jquery. загрузка изображения SkrudjMakdak JavaScript, Ajax 2 21.07.2011 03:38
jQuery или Ajax blackbanny Свободное общение 10 30.01.2011 21:13