У меня есть страница VB ASP.net, которая позволяет пользователю загружать, обрезать и сохранять изображение, и это происходит в диалоговом окне, поэтому я не хочу обновлять страницу. Итак, я пытаюсь использовать Ajax и не уверен, возможно ли это.
Есть ли способ заставить это работать с использованием моего кода? а если нет, есть ли простое решение?
Примечание. Я протестировал все эти коды ASP и отлично работал без Ajax.
Обычная загрузка выглядит следующим образом:
Private Sub btnUpoadToCrop_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUpoadToCrop.Click
Dim objUpload As New Upload
objUpload.MaxLength = 4000000
'''' Upload Image File
If objUpload.FileFieldLength(flImg) 0 Then
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
'''' Save Original Photo
flImg.SaveAs(HttpContext.Current.Server.MapPath(oFile))
End If
End Sub
ПОПРОБОВАТЬ AJAX
И поскольку я не смог получить доступ к файлу изображения flImg, я попытался отправить переменные из Ajax, что не сработало со мной, и консоль вернула 500 (внутренняя ошибка сервера)
VB.NET
Public Shared Function UploadSource(ByVal src As String, ByVal strName As String, ByVal ext As String) As String
'''' Upload Image File
Dim filesCollection As HttpFileCollection = HttpContext.Current.Request.Files
Dim fileName = filesCollection(0)
Dim Name As String = System.IO.Path.GetFileName(fileName.FileName).Replace(" " & "%20", "_").ToString
Dim oFolder As String = "\media\temp-uploads\"
Dim oFile As String = oFolder + Name
'''' Save Original Photo
fileName.SaveAs(HttpContext.Current.Server.MapPath(oFile))
End Function
jQUERY
$(document).ready(function() {
// Ajax Upload
var _src, _path, _name, _ext;
$("#").change(function () {
//console.dir(this.files[0]);
var val = $(this).val();
if (val != "") {
_src = val;
_name = _src.substr(0, _src.lastIndexOf('.'));
_ext = _src.split('.').pop();
_ext = _ext.toLowerCase();
alert(_ext);
}
else {
_src = "";
}
}).trigger('change');
$(document).on("click", "#UploadSource", function () {
if (_src != "") {
alert(_name);
$.ajax({
type: 'POST',
contentType: "application/json; charset=utf-8",
url: '/ImgCropper.aspx/UploadSource',
// *** I have set values for variables for test
data: "{'src':'" + "xyz.jpg" + "','name':'" + "xyz"+ "','ext':'" + "jpg" + "'}",
async: false,
success: function (response) {
},
error: function () {
alert("some problem in saving data");
}
});
}
});
});
Затем попробовал без отправки переменных в данных Ajax с помощью этой функции и все еще без надежды:
Public Shared Function UploadSource() As String
'''' Upload Image File
Dim filesCollection As HttpFileCollection = HttpContext.Current.Request.Files
Dim fileName = filesCollection(0)
Dim Name As String = System.IO.Path.GetFileName(fileName.FileName).Replace(" " & "%20", "_").ToString
Dim oFolder As String = "\media\temp-uploads\"
Dim oFile As String = oFolder + Name
'''' Save Original Photo
fileName.SaveAs(HttpContext.Current.Server.MapPath(oFile))
End Function
Подробнее здесь: https://stackoverflow.com/questions/224 ... nd-asp-net
Загрузите и сохраните изображение на сервер без обновления, используя Ajax и ASP.NET. ⇐ Jquery
Программирование на jquery
1766513090
Anonymous
У меня есть страница VB ASP.net, которая позволяет пользователю загружать, обрезать и сохранять изображение, и это происходит в диалоговом окне, поэтому [b]я не хочу обновлять[/b] страницу. Итак, я пытаюсь использовать Ajax и не уверен, возможно ли это.
Есть ли способ заставить это работать с использованием моего кода? а если нет, есть ли простое решение?
[b]Примечание.[/b] Я протестировал все эти коды ASP и отлично работал без Ajax.
Обычная загрузка выглядит следующим образом:
Private Sub btnUpoadToCrop_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUpoadToCrop.Click
Dim objUpload As New Upload
objUpload.MaxLength = 4000000
'''' Upload Image File
If objUpload.FileFieldLength(flImg) 0 Then
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
'''' Save Original Photo
flImg.SaveAs(HttpContext.Current.Server.MapPath(oFile))
End If
End Sub
ПОПРОБОВАТЬ AJAX
И поскольку я не смог получить доступ к файлу изображения flImg, я попытался отправить переменные из Ajax, что не сработало со мной, и консоль вернула 500 (внутренняя ошибка сервера)
VB.NET
Public Shared Function UploadSource(ByVal src As String, ByVal strName As String, ByVal ext As String) As String
'''' Upload Image File
Dim filesCollection As HttpFileCollection = HttpContext.Current.Request.Files
Dim fileName = filesCollection(0)
Dim Name As String = System.IO.Path.GetFileName(fileName.FileName).Replace(" " & "%20", "_").ToString
Dim oFolder As String = "\media\temp-uploads\"
Dim oFile As String = oFolder + Name
'''' Save Original Photo
fileName.SaveAs(HttpContext.Current.Server.MapPath(oFile))
End Function
jQUERY
$(document).ready(function() {
// Ajax Upload
var _src, _path, _name, _ext;
$("#").change(function () {
//console.dir(this.files[0]);
var val = $(this).val();
if (val != "") {
_src = val;
_name = _src.substr(0, _src.lastIndexOf('.'));
_ext = _src.split('.').pop();
_ext = _ext.toLowerCase();
alert(_ext);
}
else {
_src = "";
}
}).trigger('change');
$(document).on("click", "#UploadSource", function () {
if (_src != "") {
alert(_name);
$.ajax({
type: 'POST',
contentType: "application/json; charset=utf-8",
url: '/ImgCropper.aspx/UploadSource',
// *** I have set values for variables for test
data: "{'src':'" + "xyz.jpg" + "','name':'" + "xyz"+ "','ext':'" + "jpg" + "'}",
async: false,
success: function (response) {
},
error: function () {
alert("some problem in saving data");
}
});
}
});
});
Затем попробовал без отправки переменных в данных Ajax с помощью этой функции и все еще без надежды:
Public Shared Function UploadSource() As String
'''' Upload Image File
Dim filesCollection As HttpFileCollection = HttpContext.Current.Request.Files
Dim fileName = filesCollection(0)
Dim Name As String = System.IO.Path.GetFileName(fileName.FileName).Replace(" " & "%20", "_").ToString
Dim oFolder As String = "\media\temp-uploads\"
Dim oFile As String = oFolder + Name
'''' Save Original Photo
fileName.SaveAs(HttpContext.Current.Server.MapPath(oFile))
End Function
Подробнее здесь: [url]https://stackoverflow.com/questions/22432094/upload-and-save-image-to-server-without-refresh-using-ajax-and-asp-net[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия