codetoad.com
  ASP Shopping CartForum & BBS
  - all for $20 from CodeToad Plus!
  
  Home || ASP | ASP.Net | C++/C# | DHTML | HTML | Java | Javascript | Perl | VB | XML || CodeToad Plus! || Forums || RAM 
Search Site:
Search Forums:
  file upload  lucas_quinlan at 18:02 on Sunday, February 12, 2006
 

Hi I just found this javascript code example and am trying to get it to list the file size with any document. Right not it just seems to list the file size if you browse and select an image file. Any idea what I have to do to work with any file?



<TD>
<Div ID=files>
<div id=dfile1>
Image 1 : <input type="file" name="Image 1" id="Image 1" onchange="preview(1)" onfocus="preview(1)"><img id="himg1" style="display:none" onload="himgLoaded(1)"> Size: <span id="size1">-</span><br>
</div>
Image 2 : <input type="file" name="Image 2" id="Image 2" onchange="preview(2)" onfocus="preview(2)"><img id="himg2" style="display:none" onload="himgLoaded(2)"> Size: <span id="size2">-</span><br>
Image 3 : <input type="file" name="Image 3" id="Image 3" onchange="preview(3)" onfocus="preview(3)"><img id="himg3" style="display:none" onload="himgLoaded(3)"> Size: <span id="size3">-</span><br>
</Div>
Total size: <span id="filesize2">-</span>
Total size: <span id="totalSize">-</span>
</TD>
</TR>

</form></Table>






<SCRIPT>

//check file sizes.

if (checkFileSize()) {
alert('Upload size is over limit. Please check selected files.')
return false;
};



</SCRIPT>


<Script>
//Additional function - dynamic form to add new files at a client side.

var nfiles = 3;
//Add two files for upload
//Expand();
function Expand(){

//get an HTML code of a first upload element
var adh = dfile1.outerHTML;

//replace '1' to nfiles (2, 3, ...)
adh = adh.replace(/1/g,++nfiles)

//insert the code of a new element before end of div files
files.insertAdjacentHTML('BeforeEnd',adh);

//clear mask and real value of the element nfiles
//document.getElementById('maskfile'+nfiles).value=''
return false;
};

</Script>


<Script>



var lastfieldname = ''
var filenamechecked = ''
function preview(n) {
//get current input preview
var htmlfile = document.getElementById('Image '+n);
var file = htmlfile.value


//set the size field.
var himg = document.getElementById('himg'+n);
if (file.length>0) himg.src = 'file://' + file;
else {
himg.src = '';
document.getElementById('size'+n).innerHTML='-'
};

if (file.length<=0) return;

//or get get preview for one of form field
//var file = file_upload.SourceFile1.value
var ipreview = document.getElementById('ipreview');

//do not check the file more than one.
if (filenamechecked != htmlfile.value) {
filenamechecked = htmlfile.value
} else {
return true;
};



lastfieldname = htmlfile.name
}

function himgLoaded(n){
checkFileSize();
};


//this function gets a sizes of images,
//write the sizes to HTML form
//counts total size and checks file sizes against a limit
var maxFileSize = 1500000
var FormSizeLimit = 52428800
function checkFileSize() {
var totalSize = 0;
var htmlSize;
var overLimit = false;
for (j = 1; j <= nfiles; j++) {
var himg = document.getElementById('himg'+j);
var size = document.getElementById('size'+j);
var fileSize = himg.fileSize ;

fileSize = parseInt(fileSize);
fileSize2 = parseInt(fileSize);

if (fileSize < 0) {
size.innerHTML = '-';
} else {
htmlSize = formatSize(fileSize);
if ( fileSize>maxFileSize ) {
htmlSize += ' (over limit, ' + formatSize(maxFileSize) + ' max)'
size.style.color = 'red';
overLimit = true;
} else {
size.style.color = '';
};
size.innerHTML = htmlSize;
totalSize += fileSize;
};//if (fileSize < 0) {
};//for (j = 1; j <= nfiles; j++)


var htotalSize = document.getElementById('totalSize');

if (totalSize > 0){
htmlSize = formatSize(totalSize);
} else {
htmlSize = '-';
};
if (totalSize > FormSizeLimit) {
htotalSize.style.color = 'red';
htmlSize += ' (over limit, ' + formatSize(FormSizeLimit) + ' max)'
overLimit = true;
} else {
htmlSize += ' (of ' + formatSize(FormSizeLimit) + ' max)'
};
htotalSize.innerHTML = htmlSize
return overLimit;
};

function formatSize(size) {
if (size < 0x100000) {// < 1 MB
return Math.round(size / 0x400)+" kB";
} else { // > 1 MB
return (Math.round((size / 0x100000)*10)/10)+" MB";
}
}


//window.onerror = donotmsgboxes;
function donotmsgboxes(msg,url,line)
{ // we do not need error messages
return true
}

</Script>





</BODY></HTML>


  Re: file upload  talk2vachan at 08:24 on Friday, February 01, 2008
 

Friends,

I am a new bee in Microsoft .Net Technology.

I want to create user control or any .Net control for file upload.

Features:

We need to give just folder path for file selection.
( i.e No individual files selection. )
As we set only folder path from client side.
this control will take care of all files included into this folder and also inner folders' files with respective names.

and whole chuck of data ( i.e files ) are uploaded to server.

Kindly revert back to me for the solution.

Regards,
----------------------
Vachan Chauhan
vachanc@cybage.com










CodeToad Experts

Can't find the answer?
Our Site experts are answering questions for free in the CodeToad forums
//








Recent Forum Threads
•  Re: file upload
•  how to create a forum in asp.net
•  how to create a forum in asp.net
•  how to create a forum in asp.net
•  Re: facing problem in enabling a check box
•  div with position absolute?
•  Need help with file I/O
•  Re: Frusturating loop
•  reading from mic


Recent Articles
ASP GetTempName
Decode and Encode UTF-8
ASP GetFile
ASP FolderExists
ASP FileExists
ASP OpenTextFile
ASP FilesystemObject
ASP CreateFolder
ASP CreateTextFile
Javascript Get Selected Text


© Copyright codetoad.com 2001-2008