PDA

View Full Version : آپلود فایل با جاوا اسکریپت و asp classic - asp classic Uploder



_elhfarzan
دوشنبه 17 دی 1397, 11:30 صبح
یکی از موارد مشکل در زبان های اسکریپتی آپلود فایل هستش
یه راه حل ساده یادتون میدم
میتونید با گرفتن base64 یک تصویر و انتقال آژاکس (آژاکس کلاسیک) و آن طرف سمت سرور با کد asp classic دریافت و تبدیل Base64 به تصویر

این کل داستان آپلود بود

_elhfarzan
دوشنبه 17 دی 1397, 11:31 صبح
فیال سمت کلاینت :




<% @ Language=VBScript CodePage = 65001%>


<html dir="rtl">
<center>
<head>
<title> جداسازی تصویر امضاء </title>
<link rel="stylesheet" type="text/css" href="Css/NezamMohandesi.css" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="Content-Language" content="fa">

<script type="text/javascript">



function Save(namefile)
{
//alert(namefile);
var base6464=document.getElementById("Pice1").value ;

var da = new Date();
var Randd= da.getMilliseconds();
if (window.XMLHttpRequest)
{
xmlhttp=new XMLHttpRequest();
}
else
{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{

var strArray=xmlhttp.responseText.split('^');
alert(strArray[1]);
}
}
base6464= base6464.replace(/;/gi, "^");
alert(base6464);
xmlhttp.open("POST","AjaXUp.asp?Randd="+Randd+"&FileName="+namefile,true);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.send("base64="+encodeURIComponent(base6464));
}






function previewFile() {
var base64data ;
var image = document.getElementById('MYPIC');
var Info = document.getElementById('Info');
var file = document.querySelector('input[type=file]').files[0];
var reader = new FileReader();
var width ,height ;


if((file.size)<=204800){
if (file) {
if ( /\.(jpe?g|png|gif)$/i.test(file.name) ) {
reader.readAsDataURL(file);
reader.onloadend = function() {
base64data = reader.result;
document.getElementById('Pice1').value = base64data ;
image.src = base64data;
Info.innerHTML = "مشخصات تصویر :: عرض = "+ image.clientWidth+ " :: ارتفاع = "+image.clientHeight + " :: سایز = " +(Math.round(parseInt(file.size) / 1024)).toString()+" KB :: نام فایل = "+file.name;
onPreloadComplete(0,0)
}
}
else{alert("این نوع فرمت تصویر قابل قبول نمیباشد");}
}
}
else{alert('اندازه فایل غیر مجاز است. حداکثر 200 کیلو بایت');}
}


</script>
</head>
<body >
<input type="text" id="Pice1" >


<table>
<tr>
<th colspan="2" >1 - انتخاب تصویر اسکن شده : <input type="file" class="inputBig" onchange="previewFile()"> </th>
</tr>
<tr><td colspan="2" ><span id="Info" ></span></td></tr>

<tr><td colspan="2" >3 - <input type="button" class="bg7" value=" ثبت تصویر " onclick="Save('Farzan.jpg');" > </td></tr>
<tr><td colspan="2" ><img id="MYPIC" ></td></tr>


</table>




</body>
</center>
</html>

_elhfarzan
دوشنبه 17 دی 1397, 11:32 صبح
فایل دوم سمت سرور :




<% @ Language=VBScript CodePage = 65001%>
<%


Function SaveToBase64 (base64String)
Set Doc = Server.CreateObject("MSXML2.DomDocument")
Set nodeB64 = Doc.CreateElement("b64")
nodeB64.DataType = "bin.base64"
nodeB64.Text = Mid(base64String, InStr(base64String, ",") + 1)

dim bStream
set bStream = server.CreateObject("ADODB.stream")
bStream.type = 1
call bStream.Open()
call bStream.Write( nodeB64.NodeTypedValue )
call bStream.SaveToFile("E:\newsign\nezam" +"\"+request.querystring("FileName"), 2 ) 'Server.MapPath(".")
call bStream.close()
set bStream = nothing
response.write "^"+"OK Send"
end function

SaveToBase64(Replace(request("base64"),"^",";"))


%>

_elhfarzan
دوشنبه 17 دی 1397, 11:33 صبح
یکمی هم بهشون اماکنات دادم. خیلی راحت و فوری هستش
شمارو از کدهای فراوان قدیم خلاص میکنه