Загрузите и сохраните изображение на сервер без обновления, используя Ajax и ASP.NET.Jquery

Программирование на jquery
Ответить Пред. темаСлед. тема
Anonymous
 Загрузите и сохраните изображение на сервер без обновления, используя Ajax и ASP.NET.

Сообщение Anonymous »

У меня есть страница 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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Jquery»