|
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>
|
|
|
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
|
|
|
|
|
|
|
// |