ASP file with 2 scripts does not load second script - asp.net

I have as ASP page, this page reads a xml file and shows the information inside a table.
I need to create a second script just like the first one to read a second xml file and display the info in another table.
i created the script, that i will post below, the page take ages to load, and only the first script loads.
<div class="centro">
<table class="tabela_centro">
<tr>
<td class="td_noticias_barra_vertical"></td>
<td class="td_noticias_toda"
<%
response.write (" style=width:950px !important; "" >")
%>
<div class="noticias">
<%
'--------------------------------------ver quantas noticias estao activas
'
dim qt_noticias_activas
qt_noticias_activas=0
dim array_noticias_activas()
dim activo
Set xmlDOM = Server.CreateObject("MSXML2.DOMDocument")
xmlDOM.async = False
xmlDOM.setProperty "ServerHTTPRequest", True
xmlDOM.Load("c:\temp\noticias.xml")
for i=1 to 10
Set itemList = XMLDom.SelectNodes("noticias/noticia" & i)
For Each itemAttrib In itemList
activo =itemAttrib.SelectSingleNode("activo").text
if activo="S" then
redim preserve array_noticias_activas(qt_noticias_activas)
array_noticias_activas(qt_noticias_activas)=i
qt_noticias_activas=qt_noticias_activas+1
end if
' response.write activo
Next
' response.write i & "-" & qt_noticias_activas & "-" & array_noticias_activas(0)
next
'---------------------------------------------ver qual o minuto actual
'
dim minutos
minutos=minute(now)+60
' ----------------------------------------descobrir qual noticia a mostrar
'
dim noticia_a_mostrar
while minutos > qt_noticias_activas
minutos=minutos - qt_noticias_activas
wend
noticia_a_mostrar=array_noticias_activas(minutos -1)
'-----------------------------------------------------carregar a noticia escolhida
'
dim titulo, data, texto, foto1, foto2
Set itemList = XMLDom.SelectNodes("noticias/noticia" & noticia_a_mostrar)
For Each itemAttrib In itemList
data =itemAttrib.SelectSingleNode("data").text
titulo =itemAttrib.SelectSingleNode("titulo").text
foto1 =itemAttrib.SelectSingleNode("foto1").text
foto2 =itemAttrib.SelectSingleNode("foto2").text
Next
Set xmlDOM = Nothing
Set itemList = Nothing
'response.write titulo & data & foto1 & foto2
'
%>
<table>
<tr>
<td colspan="2">
<div class="noticias_titulo">
<%=titulo%>
</div>
</td>
</tr>
<tr>
<td colspan="2">
</td>
</tr>
<tr class="tr_noticias_fotos">
<td class="td_noticias_fotos1">
<div class="noticias_foto1">
<img class="foto1" src="<%=foto1%>">
</div>
</td>
<td class="td_noticias_fotos2">
<div class="noticias_foto2">
<img class="foto2" src="<%=foto2%>">
</div>
</td>
</tr>
</table>
</div>
</td>
<td class="td_servicos_barra_vertical"></td>
<td style="max-width:35%; vertical-align:top;" class="td_servicos_toda">
<div id="secstate">
<div><h3 class="cultura_titulo">Estado de segurança: <span id="span_estado">ALFA<span></h3></div>
</div>
<%
'--------------------------------------ver quantas noticias culturais estao activas
'
dim qt_culturas_activas
qt_culturas_activas=0
dim array_culturas_activas()
dim activocult
Set xmlDOM = Server.CreateObject("MSXML2.DOMDocument")
xmlDOM.async = False
xmlDOM.setProperty "ServerHTTPRequest", True
xmlDOM.Load("c:\temp\culturas.xml")
for i=1 to 10
Set itemList = XMLDom.SelectNodes("culturas/cultura" & i)
For Each itemAttrib In itemList
activocult =itemAttrib.SelectSingleNode("activo").text
if activo="S" then
redim preserve array_culturas_activas(qt_culturas_activas)
array_culturas_activas(qt_culturas_activas)=i
qt_culturas_activas=qt_culturas_activas+1
end if
' response.write activocult
Next
' response.write i & "-" & qt_culturas_activas & "-" & array_culturas_activas(0)
next
'---------------------------------------------ver qual o minuto actual
'
dim minutoscult
minutoscult=minute(now)+60
' ----------------------------------------descobrir qual noticia de cultura a mostrar
'
dim cultura_a_mostrar
while minutoscult > qt_culturas_activas
minutoscult=minutoscult - qt_culturas_activas
wend
cultura_a_mostrar=array_culturas_activas(minutoscult -1)
'-----------------------------------------------------carregar a noticia de cultura escolhida
'
dim titulocult, datacult, foto1cult
Set itemList = XMLDom.SelectNodes("culturas/cultura" & cultura_a_mostrar)
For Each itemAttrib In itemList
datacult =itemAttrib.SelectSingleNode("data").text
titulocult =itemAttrib.SelectSingleNode("titulo").text
foto1cult =itemAttrib.SelectSingleNode("foto1").text
Next
Set xmlDOM = Nothing
Set itemList = Nothing
'response.write titulocult & datacult & foto1cult
'
%>
<div class="cultura_titulo"><h4><%=titulocult%></h4></div>
<div class="cultura_foto">
<img style="width:90%" src="<%=foto1cult%>">
</div>
</td>
</tr>
</table><!--fim da tabela do centro todo -->
</div>
Can you guys help me out a bit? i was asked to complete another developer job... and i am not really inside the ASP language.
Regards
roberto

Ok, i have found my mistake, in the line if activo="S" then of the second script, it should be if activocult="S" then.
thanks for your time

Related

How to add class dynamically inside a loop using asp

I want to add a class for Masonry in the loop while.
What can I do for loop should be only one?
Is output to the three data three times.
Is there another way?
<div id="box-container">
<div class="grid-sizer"><!-- avl for packery to get grid size --></div>
<%
'creates an array
Dim x, y, z
x = Array("w2 h1", "w1 h2", "w1 h1")
rso()
cate = "fo01"
SQL = " SELECT TOP 3 * FROM ms_dbtable WHERE category = '"& cate &"' ORDER BY sort_idx ASC "
rs.open SQL, dbcon, 3
If Not rs.eof Then
While Not rs.EOF
For Each y In x
%>
<div class='box snip1328 <%=y%>'>
<% If rs("thumb") = "" Then %>
<img src="/img/tlogo.gif"></a>
<% Else %>
<img src="/data/fo01/<%=rs("thumb")%>"></a>
<% End If %>
</div>
<%
Next
%>
<%
rs.MoveNext
Wend
End If
rsc()
%>
<style>
.w1 {width: 138px;}
.h1 {height: 138px;}
.w2 {width: 280px;}
.h2 {height: 280px;}
.w3 {width: 422px;}
.h3 {height: 422px;}
</style>
The result is output as a duplicate image.
The output data has Blurring the face picture.
enter image description here
Since you are selecting TOP 3, and there are three elements in the array,
you could move the array index within the loop using a counter.
If Not rs.eof Then
Dim xindex : xindex=0
While Not rs.EOF
%>
<div class='box snip1328 <%=x(xindex)%>'>
<% If rs("thumb") = "" Then %>
<img src="/img/tlogo.gif"></a>
<% Else %>
<img src="/data/fo01/<%=rs("thumb")%>"></a>
<% End If %>
</div>
<%
xindex = xindex + 1
rs.MoveNext
Wend
End If

Classic ASP dropdown menus, hold values

i'm working on something. So, i go to my Database and I want to ask what type of machine they want (base on the existings at the DB)
Then, i will check the model, depending on the type.
Last, The number of palets
exampe:
machine 1 has model 2, 3 and 4
machine 2 has model 1, 2 and 3
machine 1, model 2 has 13 palets, machine 2 model 2 has 15 palets
my code:
main.asp
<!DOCTYPE html>
<html>
<head>
<link href="mystyle.css" rel="stylesheet" type="text/css"/>
<script src="javascript/jquery-1.11.3.min.js"></script>
</head>
<body>
<!--Inicialization, ...-->
<%
dim model, typee, palete
typee=""
model=""
palete=""
dim perguntas(20)
Set conn = Server.CreateObject("ADODB.Connection")
Set conn2 = Server.CreateObject("ADODB.Connection")
conn_string = "Provider=sqloledb;Server=INF0148\SQLEXPRESS;Database=#####;Uid=####;Pwd=###########"
conn.commandTimeout = 60
conn.Open conn_string
Set rs = Server.CreateObject("ADODB.Recordset")
Set rs2 = Server.CreateObject("ADODB.Recordset")
function options(value, data, select_id)
Response.Write ("<option value=""" & value & """")
if request.form(select_id) = value then
Response.Write ("selected")
end if
Response.Write(">" & data & "</option>")
end function
%>
<div id="main">
<!--choose type of machine-->
<form method="post">
<select name="maq" id="maq" onchange="this.form.submit()">
<option value="">Type of Machine:</option>
<%
conn.close
conn.Open conn_string
rs.Open "SELECT DISTINCT Type FROM models", conn
do until rs.EOF
for each x in rs.Fields
options x.value, x.value, "maq"
next
rs.MoveNext
loop
%>
</select>
</form>
<%typee=Request.Form("maq")%>
<!--Choose model-->
<form method="form">
<select name="model" id="model" onchange="this.form.submit()">
<option value="">Model:</option>
<%
conn.close
conn.Open conn_string
rs.Open "SELECT DISTINCT Model FROM models WHERE Type='"&typee&"'", conn
do until rs.EOF
for each x in rs.Fields
options x.value, x.value, "model"
next
rs.MoveNext
loop
model=Request.Form("model")
%>
</select>
</form>
<!--Number of Palets-->
<form method="post">
<%
conn.close
conn.Open conn_string
rs.Open "SELECT N_Palets FROM Models WHERE Type='"&typee&"' AND Model='"&model&"'", conn
dim temp
temp=0
do until rs.EOF
for each x in rs.Fields
if not IsNull(x.value) then
if temp=0 then
response.write("<select name=palets id=palets onchange=""this.form.submit()"";>")
response.write("<option value="">Number of Palets:</option>")
temp=1
end if
options x.value, x.value, "palets"
end if
next
rs.MoveNext
loop
paletes=Request.Form("palets")
%>
</form>
</div>
</body>
</html>
so, when i choose the type... it's ok, the page displays the right models... when i choose the model, page reload and i loose everything.
Can you help me?
Submitting a form only submits the fields that are on that form, not any of the other fields on other forms. That's why submitting one of your child forms loses everything. To fix it, add hidden fields with the necessary parent data.
<!--Choose model-->
<form method="post">
<input type="hidden" name="maq" value="<%=Request.Form("maq")%>">
<select name="model" id="model" onchange="this.form.submit()">
[...]
</select>
</form>
For the palets form, add both the machine & model as hidden fields.

ADO Adding record to table only adding one value

So i'm using ADO to add data into a sql database, here's my raw code:
<!DOCTYPE html>
<html>
<body>
<h1>
Teacher registration
</h1>
<form name="teacherReg" action="http://hr-computing/public/AlexS/Tests/login.asp" method="POST">
First name:<input type="text" name="firstname"><br>
Last name:<input type="text" name"lastname">
<input type="submit" value="submit">
</form>
<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Open ={ private }
set rs=Server.CreateObject("ADODB.recordset")
rs.Open "Select * from teachers", conn
sql="INSERT INTO teachers (firstname, lastname)"
sql=sql & " VALUES "
sql=sql & "('" & Request.Form("firstname") & "',"
sql=sql & "'" & Request.Form("lastname") & "')"
on error resume next
conn.Execute sql,recaffected
if err<>0 then
Response.Write("No update permissions!")
else
Response.Write("<h3>" & recaffected & " record added</h3>")
end if
conn.close
%>
</body>
</html>
It's working but only adding the value of firstname into the table, not lastname aswell, I can't see where i'm going wrong, any help guys?
Change <input type="text" name"lastname">
to
<input type="text" name="lastname">
You are missing an equals sign.

classic asp to asp.net conversion

hi i am working on project jigsaw puzzle game . i have done with coding in classic asp using vb script and it working properly . i want to do same coding asp.net using vb.net but css style i was written it was not working properly in asp.net can anybody help me doing this conversion.
<html>
<head>
<script type="text/javascript">
function setText(pieceID)
{
if (document.getElementById("first").value == '' )
{
document.getElementById("first").value=pieceID;
}
else
{
document.getElementById("second").value=pieceID;
document.swap.submit();
}
}
</script>
</head>
<body>
<%
dim img
img = "img1.jpg"
%>
<div class="classname"> <img src="<%response.write img%>"> </div>
<%dim imgPIX
imgPIX = 60
%>
<style>
.icons { display: block; width: <%response.write imgPIX%>px; height: <%response.write imgPIX%>px; background-image: url(<%response.write img%>); background-repeat: no-repeat; }
<%
dim proper
dim ico_number,col
dim row_number,rw
for row_number = 1 to 6
rw = (row_number - 1) * (-1 * imgPIX)
for ico_number = 1 to 6
col = (ico_number - 1) *(-1 * imgPIX)
response.write ".icon"& row_number &"_"& ico_number &" { background-position: col &"px "& rw &"px; } "
if not proper = "" then
proper = proper & "," & row_number &"_"& ico_number
else
proper = row_number &"_"& ico_number
end if
response.write ".icon"& row_number &"_"& ico_number &" { background-position: 0px 0px; } "
next
next
%>
</style>
<%
dim userfeed
if request.form("userform") = "" then
userfeed = random_sort(proper)
end if
if request.form("first") <> "" and request.form("second") <> "" then
userfeed = request.form("userform")
userfeed = replace(userfeed,request.form("first"),"temp1")
userfeed = replace(userfeed,request.form("second"),"temp2")
userfeed = replace(userfeed,"temp1",request.form("second"))
userfeed = replace(userfeed,"temp2",request.form("first"))
end if
%>
<center>
<form name="swap" action="default.asp" method="post">
<input type="hidden" name="first" ID="first">
<input type="hidden" name="second" ID="second">
<input type="hidden" name="userform" ID="userform" value="<%response.write userfeed%>">
</form>
<table border="0">
<%
if userfeed = proper then
%>
<H1>Solved !!</h1>
<%
end if
dim icoarr
icoarr = split(userfeed,",")
dim ctr
ctr =0
for each piece in icoarr
if ctr =6 then
response.write "<tr>"
end if
%>
<td><span class="icons icon<%response.write piece%>" style="float:left;" onclick="setText('<%response.write piece%>')"></span></td>
<%
if ctr =6 then
ctr =1
else
ctr = ctr + 1
end if
next
%>
<%public function random_sort(arrySTR)
arrySTR = arrySTR & ","
dim retstr
do while arrySTR <> ""
dim arr
arr = split(arrySTR,",")
dim random_number
randomize
random_number=int(rnd*(ubound(arr)-1))+0
'response.write random_number
retstr =arr(random_number) & "," & retstr
arrySTR = replace(arrySTR,arr(random_number) & ",","")
loop
retstr = mid(retstr,1,len(retstr)-1)
'response.write "<br>" & retstr
random_sort=retstr
end function
%>
</table>
</body>
You can try Asp.Net WEBMATRIX tool for converting the same code to Asp.Net with minimal effort
http://www.asp.net/web-pages

Multiple Uploads

hey I need the help with the following.
I have a website,
altough I was not a 100% programmer, I am trying to navigate within the programming of the site. It work in asp.net 2.0.
I have an image gallery, but the only problem is that I can only upload 1 image at a time. I need some help how i can integrate multiple images on the site.
below is the coding for album.asp
<%#LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!-- #INCLUDE file="inc/settings.asp" -->
<!-- #INCLUDE file="inc/functions.asp" -->
<!-- #INCLUDE file="inc/db_connect.asp" -->
<!-- #INCLUDE file="inc/check_login.asp" -->
<!--#INCLUDE file="fckeditor/fckeditor.asp" -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript" src="js/script.js"></script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Xaghra Scouts</title>
<link href="styles.css" rel="stylesheet" type="text/css" />
<%
cat = decrypt(request("cat") & "")
set fs=Server.CreateObject("Scripting.FileSystemObject")
isSub = true
%>
</head>
<body>
<!-- #INCLUDE file="layout_top.asp" -->
<%if loggedin then%>
<table align="center" border="0" cellspacing="0" cellpadding="5" class="main">
<tr >
<td align="center" style="padding:15px;" colspan="2">
<form action="album.asp" method="post" id="selectCategory">
<b>SELECT CATEGORY: </b>
<select name="cat" style="font-size:12px; width:160px; height:19px;" onChange="javascript: document.getElementById('selectCategory').submit();">
<option selected>Uncategorized</option>
<%
set fo=fs.GetFolder(Server.MapPath("images/gallery"))
for each x in fo.SubFolders
Response.write("<option value='" & encrypt(x.Name) & "'")
if cat = x.Name then
response.write("selected")
end if
Response.write(">" & x.Name & "</option>")
next
%>
</select>
</form>
</td>
</tr>
<tr style="color:#666666; font-size:12px;">
<td colspan="2" align="left">
<br>
<%
if cat <> "" and fs.FolderExists(Server.MapPath("images/gallery/" & cat)) then
set fo=fs.GetFolder(Server.MapPath("images/gallery/" & cat))
path = "gallery/" & cat
else
set fo=fs.GetFolder(Server.MapPath("images/gallery"))
path = "gallery"
end if
for each file in fo.files
if right(lcase(file.Name),3) = "jpg" then%>
<div style="height:120px; width:160px; text-align:center; float:left;"><img src="thumbnail.aspx?picture=<%=server.URLEncode("images/" & path & "/" & file.Name)%>&maxWidth=160&maxHeight=100" style="border:1px solid #ffffff;"><br>
<a onClick="javascript:ConfirmChoice('Are you sure you wish to delete this picture?','delete_image.asp?cat=<%=encrypt(cat)%>&file=<%=Server.URLEncode("images/" & path & "/" & file.Name)%>');"href="#" style="font-size:10px">DELETE</a></div>
<%end if
next
%>
</tr>
<tr style="color:#666666; font-size:12px;">
<td colspan="2" align="left">
<div style="text-align:center;">
<form action="file_upload.asp?FileName=<%=Server.URLEncode(uniqueName())%>&FilePath=<%=Server.URLEncode("images/" & path)%>&AcceptedFiles=<%=Server.URLEncode("JPG")%>&Redirect=<%=Server.URLEncode("album.asp")%>&MaxHeight=480&MaxWidth=640" enctype="multipart/form-data" method="post">
<table align="center" border="0" cellspacing="0" cellpadding="20" class="main">
<tr>
<td align="center" class="details">
<div style="color:#FF0000; font-size:10px;"><%if (request.QueryString("formatError") & "") <> "" then%>INVALID FILE FORMAT ( .JPG ONLY )<%end if%> </div><br>
<input name="file" type="file" accept="jpg/jpeg" class="input"> <input name="upload" value="Upload" type="submit" ></td>
</tr>
</table>
</form>
</div>
<br>
</td>
</tr>
<tr style="font-size:12px;">
<td class="list_title" align="center" style="padding:15px;">
<form action="add_category.asp" method="post" id="addCategory">
<span><b>NEW CATEGORY:</b></span>
<input name="cat" type="text" style="width:140; font-size:12px;">
<input name="" type="submit" value="ADD" style="font-size:10px;">
</form>
</td>
<td class="list_title" align="center" style="padding:15px;">
<form action="delete_category.asp" method="post" id="deleteCategory">
<span><b>DELETE CATEGORY: </b></span>
<select name="cat" style="font-size:12px; width:130px; height:19px;">
<option selected>-- select --</option>
<%
set fo=fs.GetFolder(Server.MapPath("images/gallery"))
for each x in fo.SubFolders
Response.write("<option value='" & x.Name & "'>" & x.Name & "</option>")
next
%>
</select>
<input type="button" value="REMOVE" style="font-size:10px;" onClick="javascript:ConfirmFormChoice('Are you sure you wish to delete this category and all of its contents?','deleteCategory');">
</form>
</td>
</tr>
</table>
<%else%>
<table width="700" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="center" style="padding-left:30px">
<div style="float:none;">
<%if cat <> "" and fs.FolderExists(Server.MapPath("images/gallery/" & cat)) then
set fo=fs.GetFolder(Server.MapPath("images/gallery/" & cat))
path = "images/gallery/" & cat
else
set fo=fs.GetFolder(Server.MapPath("images/gallery"))
path = "images/gallery"
end if
for each folder in fo.subfolders ' display categorises
isSub = false%>
<a href="album.asp?cat=<%=encrypt(folder.Name)%>" style="text-decoration:none; cursor:pointer;">
<div class="text" style="width:90px; height:120px;background-image:url(images/layout/folder.jpg); background-repeat:no-repeat; float:left; text-align:center;"><br /><br />
<%set fi=fs.GetFolder(Server.MapPath("images/gallery/" & folder.Name))
for each file in fi.files
if right(lcase(file.Name),3) = "jpg" then%>
<br><img src="thumbnail.aspx?picture=<%=server.URLEncode("images/gallery/" & folder.Name & "/" & file.Name)%>&maxWidth=40&maxHeight=30" style="border:1px solid #ffffff; cursor:default;" /><%
exit for
end if
next
%><br><br><span style="font-size:9px; font-weight:normal; color:#000"><%=folder.Name%></span></div>
</a>
<%next%>
</div>
</td>
</tr>
<tr>
<td align="center" style="padding-left:30px;">
<br />
<hr noshade="noshade" size="1px" color="#ffb883" width="400px" />
<%for each file in fo.files ' display uncategorized pics
if right(lcase(file.Name),3) = "jpg" then%>
<a href="thumbnail.aspx?picture=<%=server.URLEncode(path & "/" & file.Name)%>&maxWidth=640&maxHeight=480" target="_blank" style="text-decoration:none; cursor:pointer;">
<img src="thumbnail.aspx?picture=<%=server.URLEncode(path & "/" & file.Name)%>&maxWidth=160&maxHeight=100" style="border:1px solid #ffffff; margin:5px; margin-top:14px;">
</a>
<%end if
next%>
<br /><br />
<%if isSub then%>
<hr noshade="noshade" size="1px" color="#ffb883" width="400px" />
<div align="center" style="padding-left:20px;">BACK TO MAIN ALBUM</div>
<%end if%>
</td>
</tr>
</table>
<%end if%>
<!-- #INCLUDE file="layout_bottom.asp" -->
</body>
</html>
BELOW IS THE CODING FOR FILE_UPLOAD.ASP
<%
Option Explicit
' used to track various positions
dim PosB, PosBBound, PosEBound, PosEHead, PosBFld, PosEFld
' these handle the data
dim Boundary, BBoundary, PartBHeader, PartAHeader, PartContent, PartContent2, Binary
' for writing and converting
dim fso, fle, rst, DataString, FileName
' various other
dim I, Length, ContType, PartName, LastPart, BCrlf, PartContentLength
dim MaxWidth, MaxHeight, NewFileName, FilePath, AcceptedFiles, Redirect, Extension, SavedFileName, Image, NewHeight, otherExtension
Session.Timeout = 30
'Allow 300 seconds for file to upload
Server.ScriptTimeout = 300
MaxWidth = CINT(Request.QueryString("MaxWidth"))
MaxHeight = CINT(Request.QueryString("MaxHeight"))
NewFileName = Request.QueryString("FileName")
FilePath = Request.QueryString("FilePath")
AcceptedFiles = Request.QueryString("AcceptedFiles")
Redirect = Request.QueryString("Redirect")
' ado constants
const adLongVarBinary = 205
const adLongVarchar = 201
' must be submitted using POST
If Request.ServerVariables("REQUEST_METHOD") = "POST" Then
ContType = Request.ServerVariables("HTTP_Content_Type")
' must be "multipart/form-data"
If LCase(Left(ContType, 19)) = "multipart/form-data" Then
PosB = InStr(LCase(ContType), "boundary=") 'get boundary
If PosB > 0 Then Boundary = Mid(ContType, PosB + 9) 'we have one
'bugfix IE5.01 - double header
PosB = InStr(LCase(ContType), "boundary=")
If PosB > 0 then
PosB = InStr(Boundary, ",")
If PosB > 0 Then Boundary = Left(Boundary, PosB - 1)
End If
Length = CLng(Request.ServerVariables("HTTP_Content_Length")) 'Get Content-Length header
End If
If Length > 0 And Boundary <> "" Then
Boundary = "--" & Boundary
' get request, binary
Binary = Request.BinaryRead(Length)
' convert boundry to binary
For I=1 to len(Boundary)
BBoundary = BBoundary & ChrB(Asc(Mid(Boundary,I,1)))
Next
' binary crlf
BCrlf = ChrB(Asc(vbCr)) & ChrB(Asc(vbLf))
' get begin and end of first boundary
PosBBound = InStrB(Binary, BBoundary)
PosEBound = InStrB(PosBBound + LenB(BBoundary), Binary, BBoundary, 0)
' keep doing until we had them all
Do While (PosBBound > 0 And PosEBound > 0)
' get position of the end of the header
PosEHead = InStrB(PosBBound + LenB(BBoundary), Binary, BCrlf & BCrlf)
' get content of header and convert to string
PartBHeader = MidB(Binary, PosBBound + LenB(BBoundary) + 2, PosEHead - PosBBound - LenB(BBoundary) - 2)
PartAHeader = ""
For I=1 to lenb(PartBHeader)
PartAHeader = PartAHeader & Chr(AscB(MidB(PartBHeader,I,1)))
Next
' make sure we end it with ;
If Right(PartAHeader,1) <> ";" Then PartAHeader = PartAHeader & ";"
' get content of this part
PartContent = MidB(Binary, PosEHead + 4, PosEBound - (PosEHead + 4) - 2)
' get name of part
PosBFld = Instr(lcase(PartAHeader),"name=")
If PosBFld > 0 Then
' name found
PosEFld = Instr(PosBFld,lcase(PartAHeader),";")
If PosEFld > 0 Then
' well-formed name header
PartName = Mid(PartAHeader,PosBFld+5,PosEFld-PosBFld-5)
End If
' chop of leading and trailing "'s
Do Until Left(PartName,1) <> """"
PartName = Mid(PartName,2)
Loop
Do Until Right(PartName,1) <> """"
PartName = Left(PartName,Len(PartName)-1)
Loop
End If
' get file name of part (if any)
PosBFld = Instr(lcase(PartAHeader),"filename=""")
If PosBFld > 0 Then
' content header found
PosEFld = Instr(PosBFld + 10,lcase(PartAHeader),"""")
If PosEFld > 0 Then
' well-formed content header
FileName = Mid(PartAHeader,PosBFld+10,PosEFld-PosBFld-10)
End If
' chop of leading and trailing "'s
Do Until Left(FileName,1) <> """"
FileName = Mid(FileName,2)
Loop
Do Until Right(FileName,1) <> """"
FileName = Left(FileName,Len(FileName)-1)
Loop
Else
FileName = ""
End If
' ikkonverti minn binary ghal data regolari
' at the end, datastring will contain 'readable' data
' is this wide-byte binary data?
if vartype(PartContent) = 8 then
' need to do some conversion
Set rst = CreateObject("ADODB.Recordset")
PartContentLength = LenB(PartContent)
if PartContentLength > 0 then
' data, so add to recordset to speed up conversion
rst.Fields.Append "data", adLongVarBinary, PartContentLength
rst.Open
rst.AddNew
rst("data").AppendChunk PartContent & ChrB(0)
rst.Update
PartContent2 = rst("data").GetChunk(PartContentLength)
rst.close
set rst = nothing
else
' no data?
PartContent2 = ChrB(0)
End If
Else
' no need for conversion
PartContent2 = PartContent
End If
PartContentLength = LenB(PartContent2)
if PartContentLength > 0 then
' we have data to convert
Set rst = CreateObject("ADODB.Recordset")
rst.Fields.Append "data", adLongVarChar, PartContentLength
rst.Open
rst.AddNew
rst("data").AppendChunk PartContent2
rst.Update
DataString = rst("data")
rst.close
set rst = nothing
Else
' nothing to convert
dataString = ""
End If
' conversion has been done, now what to do with it
If FileName <> "" Then
' we have a file, let's save it to disk
FileName = Mid(Filename,InstrRev(FileName,"\")+1)
Extension = UCASE(Mid(Filename,InstrRev(FileName,".")+1))
' response.Write(Extension)
IF AcceptedFiles <> "" THEN
'Check if file is acceptable
IF INSTR(1, UCASE(AcceptedFiles), Extension) = 0 THEN
Response.redirect(redirect & "&formatError=true")
Response.End
End If
End IF
If NewFileName = "" THEN
'l-isem tal-file jibqa l-istess / differend extension
NewFileName = replace(lcase(FileName),"." & lcase(extension),".jpg")
END IF
' response.Write(NewFileName)
' response.end
IF FilePath <> "" THEN
IF RIGHT(FilePath,1) <> "\" THEN Filepath = FilePath & "\"
END IF
SavedFileName = FilePath & NewFileName
' response.Write(savedfilename)
' iftah il-file (textstream)
set fso = Server.CreateObject("Scripting.Filesystemobject")
set fle = fso.CreateTextFile(Server.MapPath(SavedFileName & "." & lcase(extension)))
' write the data
fle.write DataString
fle.close
' cleanup
set fle = nothing
set fso = nothing
End If
'remove other type of file if exists--------------------
' if lcase(extension) = "jpg" then
' otherExtension = "pdf"
' elseif lcase(extension) = "pdf" then
' otherExtension = "jpg"
' end if
'
' dim fs
' dim f
' set fs=Server.CreateObject("Scripting.FileSystemObject")
' if fs.FileExists(Server.MapPath(SavedFileName & "." & otherExtension))=true then
' set f=fs.GetFile(Server.MapPath(SavedFileName & "." & otherExtension))
' f.delete
' end if
'
' set fs = nothing
' set f = nothing
'------------------------------
LastPart = MidB(Binary, PosEBound + LenB(BBoundary), 2)
If LastPart = ChrB(Asc("-")) & ChrB(Asc("-")) Then
' don't look for others
PosBBound = 0
PosEBound = 0
ELSE
' look for others
PosBBound = PosEBound
PosEBound = InStrB(PosBBound + LenB(BBoundary), Binary, BBoundary)
End If
loop
ELSE
' Response.Write "<P>Invalid or empty request, no fields processed. Make sure that the content type is multipart/form-data"
Response.End
End If
ELSE
' Response.Write "<P>Form must be submitted using the POST method"
Response.End
End If
'Response.Write "<BR>Execution ended: " & Now & "<BR>"
'Response.Write "Filename = " & SavedFileName & "<BR>"
'Response.Write "MaxWidth = " & MaxWidth & "<BR>"
'Response.Write "MaxHeight = " & MaxHeight & "<BR>"
'///Biddel id-daqs tal-istampa jekk tkun akbar minn kemm suppost///
'IF MaxHeight > 0 AND MaxWidth > 0 THEN
' Set Image = Server.CreateObject("csImageFile.Manage")
' Image.ReadFile Server.MapPath(SavedFileName)
' IF Image.Height > MaxHeight OR Image.Width > MaxWidth THEN
' NewHeight = ((Image.Height/Image.Width) * MaxWidth)
' IF NewHeight > MaxHeight THEN
' 'Resizing Based On Height
' Image.Resize 0, MaxHeight
' ELSE
' 'Resizing Based On Width
' Image.Resize MaxWidth, 0
' End If
' Image.JpegQuality = 85
' Image.WriteFile Server.MapPath(SavedFileName)
' End If
' Image.HasFileInfo = False
' Set Image = Nothing
'END IF
'\\\\\\\\\\\\\\\\\\\\\\
IF Redirect <> "" AND lcase(extension) = "jpg" AND MaxWidth > 0 AND MaxHeight > 0 THEN
Response.redirect "resize_picture.aspx?Picture=" & server.URLEncode(Server.MapPath(SavedFileName)) & "." & lcase(extension) & "&MaxWidth=" & server.URLEncode(maxWidth) & "&maxHeight=" & server.URLEncode(maxHeight) & "&Redirectto=" & server.URLEncode(Redirect)
ELSEIF Redirect <> "" THEN
Response.redirect(redirect)
END IF
%>
CAN ANYONE HELP ME INTEGRATE MULTIPLE UPLOADS IN THE ABOVE MENTIONED FRAMEWORK :) ?
Perhaps a Flash-based upload tool would work better. Many sites that support multiple uploads on a single page are moving to this kind of solution.
Here are a couple that a Google search unearthed:
Multiple File Upload With Progress Bar Using Flash and ASP.NET
MultiPowUpload
FYI, these pages are classic ASP and unrelated to the more recently introduced ASP.NET technology.
I don't know how to fix your problem, but a long, long time ago, I've used the commercially available SoftArtisans FileUp component to allow reliable multi-file uploads in classic ASP.
Did you try using multiple <input type="file"> 's?
EDIT:
What you might try also then, is dynamically creating an IFRAME with the file input field in it and submit that form, holding the file in a temporary location on the server and somehow indicating to the user that they have uploaded one of the files.

Resources