I've got a site which is using the RadRotator and AsyncUpload controls for a photo album.
During development and debugging it all works fine (Win 7) but once published to the server the images do not always display and I cannot upload files - no error is given though.
Using the latest build of the controls, the temp upload directory was created first time in and files are appearing in there. I've attached the screen shots from the debug/dev box site, the published site and the uploads part from the published site.
Code Behind:
During development and debugging it all works fine (Win 7) but once published to the server the images do not always display and I cannot upload files - no error is given though.
Using the latest build of the controls, the temp upload directory was created first time in and files are appearing in there. I've attached the screen shots from the debug/dev box site, the published site and the uploads part from the published site.
<%@ Page Language="C#" MasterPageFile="~/MasterPageDialogs.master" AutoEventWireup="true" CodeFile="Photos.aspx.cs" Inherits="Dialogs_Photos" %>
<%@ MasterType VirtualPath="~/MasterPageDialogs.master" %>
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
<
asp:Content
ID
=
"Content1"
ContentPlaceHolderID
=
"ContentHead"
Runat
=
"Server"
>
<
link
href
=
"../Rotator.css"
rel
=
"stylesheet"
type
=
"text/css"
/>
</
asp:Content
>
<
asp:Content
ID
=
"Content2"
ContentPlaceHolderID
=
"ContentBody"
Runat
=
"Server"
>
<
telerik:RadAjaxManagerProxy
ID
=
"RadAjaxManagerProxy1"
runat
=
"server"
></
telerik:RadAjaxManagerProxy
>
<
script
type
=
"text/javascript"
>
function GetRadWindow() {
var oWindow = null;
if (window.radWindow) oWindow = window.radWindow; //Will work in Moz in all cases, including clasic dialog
else if (window.frameElement.radWindow) oWindow = window.frameElement.radWindow; //IE (and Moz az well)
return oWindow;
}
function CloseOnReload() {
GetRadWindow().VisibleOnPageLoad = false;
GetRadWindow().close();
}
function RefreshParentPage() {
GetRadWindow().BrowserWindow.location.href = GetRadWindow().BrowserWindow.location.href;
}
</
script
>
<
telerik:RadAjaxManagerProxy
ID
=
"RadAjaxManager1"
runat
=
"server"
>
<
AjaxSettings
>
<
telerik:AjaxSetting
AjaxControlID
=
"thumbRotator"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"imgPhoto"
/>
<
telerik:AjaxUpdatedControl
ControlID
=
"detailsPanel"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
<
telerik:AjaxSetting
AjaxControlID
=
"ibtnSavePhoto"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"ibtnSavePhoto"
/>
<
telerik:AjaxUpdatedControl
ControlID
=
"thumbRotator"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
<
telerik:AjaxSetting
AjaxControlID
=
"ibtnDeletePhoto"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"ibtnDeletePhoto"
/>
<
telerik:AjaxUpdatedControl
ControlID
=
"thumbRotator"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
</
AjaxSettings
>
</
telerik:RadAjaxManagerProxy
>
<
asp:Label
ID
=
"lblPhotoType"
runat
=
"server"
Text
=
""
style
=
"display:none"
></
asp:Label
>
<
asp:Label
ID
=
"lblPhotoKey"
runat
=
"server"
Text
=
""
style
=
"display:none"
></
asp:Label
>
<
asp:Label
ID
=
"lblPhotoSubKey"
runat
=
"server"
Text
=
""
style
=
"display:none"
></
asp:Label
>
<
table
width
=
"743"
cellpadding
=
"0"
cellspacing
=
"0"
border
=
"0"
>
<
tr
>
<
td
style
=
"height: 22px"
>
<
img
src
=
"../Images/Rotator/white.gif"
height
=
"22"
width
=
"60"
alt
=
""
style
=
"float: left;"
/></
td
>
<
td
style
=
"height: 22px"
>
<
img
src
=
"../Images/Rotator/cornerLeftTop.gif"
height
=
"22"
width
=
"50"
alt
=
""
style
=
"float: left;"
/></
td
>
<
td
style
=
"height: 22px"
>
<
img
src
=
"../Images/Rotator/topLeft.gif"
height
=
"22"
width
=
"292"
alt
=
""
style
=
"float: left;"
/></
td
>
<
td
style
=
"height: 22px"
>
<
img
src
=
"../Images/Rotator/topRight.gif"
height
=
"22"
width
=
"280"
alt
=
""
style
=
"float: left;"
/></
td
>
<
td
style
=
"height: 22px"
>
<
img
src
=
"../Images/Rotator/cornerRightTop.gif"
height
=
"22"
width
=
"62"
alt
=
""
style
=
"float: left;"
/></
td
>
</
tr
>
<
tr
>
<
td
>
<
img
src
=
"../Images/Rotator/whiteMiddle.gif"
height
=
"243"
width
=
"60"
alt
=
""
style
=
"float: left;"
/></
td
>
<
td
>
<
img
src
=
"../Images/Rotator/leftFrame.gif"
height
=
"243"
width
=
"50"
alt
=
""
style
=
"float: left;"
/></
td
>
<
td
class
=
"previewPane"
>
<
div
style
=
"margin-top: 20px"
>
<
telerik:RadBinaryImage
ID
=
"imgPhoto"
runat
=
"server"
Height
=
"192"
Width
=
"192"
ResizeMode
=
"Fit"
ImageAlign
=
"Middle"
/>
</
div
>
</
td
>
<
td
class
=
"infoPane"
>
<
div
class
=
"infoPaneBg"
runat
=
"server"
id
=
"detailsPanel"
>
<
div
class
=
"imageDetailsHeader"
>
<
table
width
=
"100%"
>
<
tr
>
<
td
width
=
"70%"
>
Image details:
</
td
>
<
td
width
=
"15%"
align
=
"center"
>
<
asp:ImageButton
ID
=
"ibtnSavePhoto"
runat
=
"server"
ImageUrl
=
"~/Images/Save.png"
onclick
=
"ibtnSavePhoto_Click"
/>
</
td
>
<
td
width
=
"15%"
align
=
"center"
>
<
asp:ImageButton
ID
=
"ibtnDeletePhoto"
runat
=
"server"
ImageUrl
=
"~/Images/Delete.png"
onclick
=
"ibtnDeletePhoto_Click"
/>
</
td
>
</
tr
>
</
table
>
</
div
>
<
div
id
=
"viewPanel"
>
<
div
class
=
"details"
>
<
strong
>Title:</
strong
>
<
asp:Label
ID
=
"lblPhotoID"
runat
=
"server"
Text
=
""
style
=
"display:none"
></
asp:Label
>
<
asp:TextBox
ID
=
"txtPhotoTitle"
runat
=
"server"
Text
=
""
></
asp:TextBox
>
</
div
>
<
div
class
=
"details"
>
<
strong
>Description:</
strong
>
<
asp:TextBox
ID
=
"txtPhotoDescription"
runat
=
"server"
Text
=
""
></
asp:TextBox
>
</
div
>
<
div
class
=
"details"
>
</
div
>
<
div
class
=
"details"
style
=
"margin-top: 5px; margin-left: 28px"
>
</
div
>
</
div
>
</
div
>
</
td
>
<
td
>
<
img
src
=
"../Images/Rotator/rightFrame.gif"
height
=
"243"
width
=
"62"
alt
=
""
style
=
"float: left;"
/></
td
>
</
tr
>
<
tr
>
<
td
>
<
img
src
=
"../Images/Rotator/whiteShadow.gif"
height
=
"117"
width
=
"60"
alt
=
""
/></
td
>
<
td
>
<
img
src
=
"../Images/Rotator/left.gif"
id
=
"img_left"
height
=
"117"
width
=
"50"
alt
=
""
style
=
"cursor: pointer"
/></
td
>
<
td
colspan
=
"2"
class
=
"thumbsViewer"
>
<
telerik:RadRotator
ID
=
"thumbRotator"
runat
=
"server"
RotatorType
=
"ButtonsOver"
Width
=
"572"
Height
=
"118px"
ItemHeight
=
"118"
ItemWidth
=
"145"
FrameDuration
=
"1"
ScrollDirection
=
"Left,Right"
DataSourceID
=
"dsThumbnails"
OnItemClick
=
"ShowImage"
>
<
ItemTemplate
>
<
div
class
=
"itemTemplate"
>
<
asp:Label
runat
=
"server"
ID
=
"lblPhotoID"
Text='<%# Eval("PhotoID") %>' style="display:none"></
asp:Label
>
<
asp:Label
runat
=
"server"
ID
=
"lblTitle"
Text='<%# Eval("Title") %>' style="display:none"></
asp:Label
>
<
asp:Label
runat
=
"server"
ID
=
"lblDescription"
Text='<%# Eval("Description") %>' style="display:none"></
asp:Label
>
<
telerik:RadBinaryImage
ID
=
"imgHiddenPhoto"
runat
=
"server"
DataValue='<%# Eval("PhotoFile") %>' style="display:none"/>
<
telerik:RadBinaryImage
ID
=
"imgThumbnail"
runat
=
"server"
DataValue='<%# Eval("Thumbnail") %>' Height="118px" Width="118px" ResizeMode="Fit"
CssClass="RotatorImage" AlternateText='<%# Eval("Title") %>' ToolTip='<%# Eval("Title") %>' />
</
div
>
</
ItemTemplate
>
<
ControlButtons
LeftButtonID
=
"img_left"
RightButtonID
=
"img_right"
/>
</
telerik:RadRotator
>
</
td
>
<
td
>
<
img
src
=
"../Images/Rotator/right.gif"
id
=
"img_right"
height
=
"117"
width
=
"62"
alt
=
""
style
=
"cursor: pointer"
/></
td
>
</
tr
>
</
table
>
<
asp:SqlDataSource
ID
=
"dsThumbnails"
runat
=
"server"
ConnectionString="<%$ ConnectionStrings:EventMgmtCSDev %>"
SelectCommand="SELECT [PhotoID], [Thumbnail], [PhotoFile], [Title], [Description] FROM [Photos] WHERE (([PhotoKey] = @PhotoKey) AND ([PhotoType] = @PhotoType) AND ([PhotoSubKey] = @PhotoSubKey))">
<
SelectParameters
>
<
asp:ControlParameter
ControlID
=
"lblPhotoKey"
Name
=
"PhotoKey"
PropertyName
=
"Text"
Type
=
"Int64"
/>
<
asp:ControlParameter
ControlID
=
"lblPhotoType"
Name
=
"PhotoType"
PropertyName
=
"Text"
Type
=
"String"
/>
<
asp:ControlParameter
ControlID
=
"lblPhotoSubKey"
Name
=
"PhotoSubKey"
PropertyName
=
"Text"
Type
=
"Int64"
/>
</
SelectParameters
>
</
asp:SqlDataSource
>
<
br
/>
<
asp:Button
ID
=
"btnUploadPhotos"
runat
=
"server"
Text
=
"Upload Photos"
/>
<
telerik:RadToolTip
ID
=
"ToolTipAddQuote"
runat
=
"server"
Width
=
"300px"
Height
=
"300px"
TargetControlID
=
"btnUploadPhotos"
Position
=
"Center"
RelativeTo
=
"BrowserWindow"
HideEvent
=
"ManualClose"
ShowEvent
=
"OnClick"
Animation
=
"Slide"
AnimationDuration
=
"1000"
>
<
telerik:RadProgressManager
runat
=
"server"
ID
=
"RadProgressManager1"
/>
<
table
width
=
"90%"
>
<
tr
>
<
td
>
<
telerik:RadAsyncUpload
runat
=
"server"
ID
=
"AsyncUpload1"
MultipleFileSelection
=
"Automatic"
TemporaryFileExpiration
=
"0:15:00"
>
</
telerik:RadAsyncUpload
>
</
td
>
<
td
align
=
"right"
>
<
asp:Button
ID
=
"btnUpload"
runat
=
"server"
Text
=
"Upload Selected Files"
onclick
=
"btnUpload_Click"
/>
</
td
>
</
tr
>
</
table
>
<
telerik:RadProgressArea
runat
=
"server"
ID
=
"RadProgressArea1"
>
</
telerik:RadProgressArea
>
</
telerik:RadToolTip
>
</
asp:Content
>
Code Behind:
using
System;
using
System.Data;
using
System.Data.SqlClient;
using
System.Collections.Generic;
using
System.Linq;
using
System.Web;
using
System.Web.UI;
using
System.Web.UI.WebControls;
using
Telerik.Web.UI;
public
partial
class
Dialogs_Photos : System.Web.UI.Page
{
protected
void
Page_Load(
object
sender, EventArgs e)
{
if
(!IsPostBack)
{
lblPhotoType.Text = HttpContext.Current.Request.QueryString[
"PhotoType"
];
lblPhotoKey.Text = HttpContext.Current.Request.QueryString[
"PhotoKey"
];
lblPhotoSubKey.Text = HttpContext.Current.Request.QueryString[
"PhotoSubKey"
];
}
}
protected
void
ShowImage(
object
sender, RadRotatorEventArgs e)
{
if
(e.Item
is
RadRotatorItem)
{
RadRotatorItem rotatorItem = (RadRotatorItem)e.Item;
string
PhotoID = (rotatorItem.FindControl(
"lblPhotoID"
)
as
Label).Text;
string
strTitle = (rotatorItem.FindControl(
"lblTitle"
)
as
Label).Text;
string
strDescription = (rotatorItem.FindControl(
"lblDescription"
)
as
Label).Text;
RadBinaryImage thumbNail = (rotatorItem.FindControl(
"imgHiddenPhoto"
)
as
RadBinaryImage);
imgPhoto.ImageUrl = thumbNail.ImageUrl;
lblPhotoID.Text = PhotoID;
txtPhotoTitle.Text = strTitle;
txtPhotoDescription.Text = strDescription;
}
}
protected
void
btnUpload_Click(
object
sender, EventArgs e)
{
foreach
(UploadedFile f
in
AsyncUpload1.UploadedFiles)
{
byte
[] photo = EM_Functions.GetFileBytes(f.InputStream);
photo = EM_Functions.ResizeImage(photo, 400);
byte
[] thumbnail = EM_Functions.ResizeImage(photo, 115);
string
fileType = EM_Functions.GetFileType(f.FileName);
EM_Data.UploadPhoto(lblPhotoType.Text,
int
.Parse(lblPhotoKey.Text),
int
.Parse(lblPhotoSubKey.Text), photo, thumbnail, f.FileName, fileType,
photo.Length, f.FileName, User.Identity.Name);
}
AsyncUpload1.Dispose();
thumbRotator.DataBind();
}
protected
void
ibtnDeletePhoto_Click(
object
sender, ImageClickEventArgs e)
{
EM_Data.DeletePhoto(
int
.Parse(lblPhotoID.Text));
thumbRotator.DataBind();
}
protected
void
ibtnSavePhoto_Click(
object
sender, ImageClickEventArgs e)
{
EM_Data.SavePhoto(
int
.Parse(lblPhotoID.Text), txtPhotoTitle.Text, txtPhotoDescription.Text);
thumbRotator.DataBind();
}
}