У меня есть страница 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
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Загрузить и сохранить изображение на сервер без обновления, используя Ajax и ASP.NET
Anonymous » » в форуме Jquery - 0 Ответы
- 6 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Загрузить и сохранить изображение на сервер без обновления, используя Ajax и ASP.NET
Anonymous » » в форуме Jquery - 0 Ответы
- 3 Просмотры
-
Последнее сообщение Anonymous
-