У меня есть код для загрузки изображения. Я использовал AjaxUpload.js плагин для uploading images without postback
. Проблема в том, что когда я передаю жестко запрограммированные значения (будь то параметр запроса или помощник data
), я могу получить это в моем обработчике. Но когда я передаю некоторое общее значение, например $('#some_id').val()
, тогда я всегда получаю пустую строку в моем обработчике.Обработчик не получает запрошенные данные от AjaxUpload
SCRIPT
var upload='';
upload = new AjaxUpload($('#fileOpenDialog'),
{
action: RootPath + 'GraphicResourceHandlers/FileHandler.ashx',
data: { OldGraphicName: $('#hidGraphicName').val() },
type: 'POST',
contentType: "application/json; charset=utf-8",
dataType: 'json',
autoSubmit: false,
onChange: function (file, extension) {
//some code
},
onSubmit: function (file, response) {
alert("Success.");
},
onError: function() {
alert("Error in upload.");
},
onComplete: function (file, response) {
//some code
}
});
//upload image
$('#btnUpload').click(function() {
//This will call the AjaxUpload .
upload.submit();
//Hides the modal that asks for uploading image
$('#browseFile').modal('hide');
});
FileHandler.ashx
public void ProcessRequest(HttpContext context)
{
try
{
context.Response.ContentType = " text/html";
//This line is returning an empty string
context.Request["OldGraphicName"]
//I also did this while passing as a query paramter but no luck
context.Request.QueryString["OldGraphicName"]
string graphicPath = Config.GraphicsPath;
string locationPath = HttpContext.Current.Request.PhysicalApplicationPath + graphicPath;
string fileName = context.Request.Files[0].FileName;
string newFileName = Guid.NewGuid() + Path.GetExtension(fileName);
context.Request.Files[0].SaveAs(locationPath + newFileName);
context.Response.Write(newFileName);
}
}
Может кто-то пожалуйста, разобраться в этом вопросе. Я действительно очень трудился, чтобы понять, что не так с моей стороны.
Спасибо!
Я могу загрузить изображения на сервер, это ' скрипт с уникальными именами. Теперь мне нужно переименовать недавно загруженный файл со старым. Для этого я сохраняю старое имя изображения в скрытом поле и передаю его в качестве параметра через AjaxUpload для обработчика. –
@Pete ?? Я забыл ссылаться на вас при добавлении моего комментария –