Загрузите и сохраните изображение на сервер без обновления, используя Ajax и ASP.NET. ⇐ Jquery
Загрузите и сохраните изображение на сервер без обновления, используя Ajax и ASP.NET.
У меня есть страница VB ASP.net, которая позволяет пользователю загружать, обрезать и сохранять изображение, и это происходит в диалоговом окне, поэтому я не хочу обновлять страницу. Итак, я пытаюсь использовать Ajax и не уверен, возможно ли это.
Есть ли способ заставить это работать, используя мой код? а если нет, то есть ли простое решение?
Примечание. Я протестировал все эти коды ASP и отлично работал без Ajax.
Обычная загрузка выглядит следующим образом:
Private Sub btnUpoadToCrop_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Обрабатывает btnUpoadToCrop.Click Dim objЗагрузить как новую загрузку objUpload.MaxLength = 4000000 '''' Загрузить файл изображения Если objUpload.FileFieldLength(flImg) 0 Тогда Dim flImg As HttpPostedFile = Request.Files(0) Dim oFolder As String = "\media\temp-uploads\" Dim strName As String = System.IO.Path.GetFileName(flImg.FileName).Replace(" " & "%20", "_").ToString Dim oFile As String = oFolder + strName '''' Сохранить исходное фото flImg.SaveAs(HttpContext.Current.Server.MapPath(oFile)) Конец, если Конец субтитра ПОПРОБОВАТЬ AJAX И поскольку у меня не было доступа к файлу изображения flImg, я попытался отправить переменные из Ajax, что у меня не сработало, а консоль вернула 500 (внутренняя ошибка сервера)
ВБ.NET
Открытая общая функция UploadSource(ByVal src As String, ByVal strName As String, ByVal ext As String) As String '''' Загрузить файл изображения Dim filesCollection As HttpFileCollection = HttpContext.Current.Request.Files Тусклое имя файла = коллекция файлов (0) Тусклое имя в виде строки = System.IO.Path.GetFileName(fileName.FileName).Replace(" " & "%20", "_").ToString Dim oFolder As String = "\media\temp-uploads\" Dim oFile As String = oFolder + Имя '''' Сохранить исходное фото имя_файла.SaveAs(HttpContext.Current.Server.MapPath(oFile)) Конечная функция jQUERY $(document).ready(function() { // Ajax-загрузка вар _src, _path, _name, _ext; $("#").change(function () { //console.dir(this.files[0]); вар val = $(this).val(); если (val != "") { _src = значение; _name = _src.substr(0, _src.lastIndexOf('.')); _ext = _src.split('.').pop(); _ext = _ext.toLowerCase(); оповещение (_ext); } еще { _src = ""; } }).trigger('изменить'); $(document).on("click", "#UploadSource", function () { если (_src != "") { оповещение (_имя); $.ajax({ тип: «ПОСТ», contentType: "application/json; charset=utf-8", URL: '/ImgCropper.aspx/UploadSource', // *** Я установил значения переменных для теста данные: "{'src':'" + "xyz.jpg" + "','name':'" + "xyz"+ "','ext':'" + "jpg" + "'}", асинхронный: ложь, успех: функция (ответ) { }, ошибка: функция () { alert("некоторые проблемы с сохранением данных"); } }); } }); }); Затем попробовал без отправки переменных в данных Ajax с помощью этой функции и все еще без надежды:
Общедоступная общая функция UploadSource() как строка '''' Загрузить файл изображения Dim filesCollection As HttpFileCollection = HttpContext.Current.Request.Files Тусклое имя файла = коллекция файлов (0) Тусклое имя в виде строки = System.IO.Path.GetFileName(fileName.FileName).Replace(" " & "%20", "_").ToString Dim oFolder As String = "\media\temp-uploads\" Dim oFile As String = oFolder + Имя '''' Сохранить исходное фото имя_файла.SaveAs(HttpContext.Current.Server.MapPath(oFile)) Конечная функция
У меня есть страница VB ASP.net, которая позволяет пользователю загружать, обрезать и сохранять изображение, и это происходит в диалоговом окне, поэтому я не хочу обновлять страницу. Итак, я пытаюсь использовать Ajax и не уверен, возможно ли это.
Есть ли способ заставить это работать, используя мой код? а если нет, то есть ли простое решение?
Примечание. Я протестировал все эти коды ASP и отлично работал без Ajax.
Обычная загрузка выглядит следующим образом:
Private Sub btnUpoadToCrop_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Обрабатывает btnUpoadToCrop.Click Dim objЗагрузить как новую загрузку objUpload.MaxLength = 4000000 '''' Загрузить файл изображения Если objUpload.FileFieldLength(flImg) 0 Тогда Dim flImg As HttpPostedFile = Request.Files(0) Dim oFolder As String = "\media\temp-uploads\" Dim strName As String = System.IO.Path.GetFileName(flImg.FileName).Replace(" " & "%20", "_").ToString Dim oFile As String = oFolder + strName '''' Сохранить исходное фото flImg.SaveAs(HttpContext.Current.Server.MapPath(oFile)) Конец, если Конец субтитра ПОПРОБОВАТЬ AJAX И поскольку у меня не было доступа к файлу изображения flImg, я попытался отправить переменные из Ajax, что у меня не сработало, а консоль вернула 500 (внутренняя ошибка сервера)
ВБ.NET
Открытая общая функция UploadSource(ByVal src As String, ByVal strName As String, ByVal ext As String) As String '''' Загрузить файл изображения Dim filesCollection As HttpFileCollection = HttpContext.Current.Request.Files Тусклое имя файла = коллекция файлов (0) Тусклое имя в виде строки = System.IO.Path.GetFileName(fileName.FileName).Replace(" " & "%20", "_").ToString Dim oFolder As String = "\media\temp-uploads\" Dim oFile As String = oFolder + Имя '''' Сохранить исходное фото имя_файла.SaveAs(HttpContext.Current.Server.MapPath(oFile)) Конечная функция jQUERY $(document).ready(function() { // Ajax-загрузка вар _src, _path, _name, _ext; $("#").change(function () { //console.dir(this.files[0]); вар val = $(this).val(); если (val != "") { _src = значение; _name = _src.substr(0, _src.lastIndexOf('.')); _ext = _src.split('.').pop(); _ext = _ext.toLowerCase(); оповещение (_ext); } еще { _src = ""; } }).trigger('изменить'); $(document).on("click", "#UploadSource", function () { если (_src != "") { оповещение (_имя); $.ajax({ тип: «ПОСТ», contentType: "application/json; charset=utf-8", URL: '/ImgCropper.aspx/UploadSource', // *** Я установил значения переменных для теста данные: "{'src':'" + "xyz.jpg" + "','name':'" + "xyz"+ "','ext':'" + "jpg" + "'}", асинхронный: ложь, успех: функция (ответ) { }, ошибка: функция () { alert("некоторые проблемы с сохранением данных"); } }); } }); }); Затем попробовал без отправки переменных в данных Ajax с помощью этой функции и все еще без надежды:
Общедоступная общая функция UploadSource() как строка '''' Загрузить файл изображения Dim filesCollection As HttpFileCollection = HttpContext.Current.Request.Files Тусклое имя файла = коллекция файлов (0) Тусклое имя в виде строки = System.IO.Path.GetFileName(fileName.FileName).Replace(" " & "%20", "_").ToString Dim oFolder As String = "\media\temp-uploads\" Dim oFile As String = oFolder + Имя '''' Сохранить исходное фото имя_файла.SaveAs(HttpContext.Current.Server.MapPath(oFile)) Конечная функция
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Загрузите и сохраните изображение на сервер без обновления, используя Ajax и ASP.NET.
Anonymous » » в форуме Jquery - 0 Ответы
- 17 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Загрузить и сохранить изображение на сервер без обновления, используя Ajax и ASP.NET
Anonymous » » в форуме Jquery - 0 Ответы
- 5 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Загрузить и сохранить изображение на сервер без обновления, используя Ajax и ASP.NET
Anonymous » » в форуме Jquery - 0 Ответы
- 2 Просмотры
-
Последнее сообщение Anonymous
-