Primero agregue las etiquetas de la cabeza :
<script>
function showDialog(openFileDialog) {
document.getElementById(openFileDialog).click();
}
function fileName(openFileDialog) {
return document.getElementById(openFileDialog).value;
}
function hasFile(openFileDialog) {
return document.getElementById(openFileDialog).value != "";
}
function fileNameWithoutFakePath(openFileDialog) {
var fileName = document.getElementById(openFileDialog).value;
return fileName.substr(fileName.lastIndexOf('\\') + 1);
}
function fakePathWithoutFileName(openFileDialog) {
var fileName = document.getElementById(openFileDialog).value;
return fileName.substr(0, fileName.lastIndexOf('\\'));
}
</script>
si ya tienes etiquetas de script , simplemente agregue estas funciones arriba.
En sus etiquetas de cuerpo o formulario agregando:
<input type="file" style="display:none" id="yourDesiredOrFavoriteNameForTheNewOpenFileDialogInstance"/>
No importa en qué lugar de su html, es como si hubiera creado una nueva instancia del tipo OpenFileDialog class como variable global , cuyo nombre es el id del elemento, sin importar en qué lugar de su código o xaml, pero en su script o código no puedes escribir su nombre y luego leer una propiedad o llamar a una función, porque hay funciones globales que hacen aquellas que no están definidas en el elemento input type = "file". Solo tiene que dar a estas funciones la identificación del tipo de entrada oculta = "archivo", que es el nombre de la instancia de OpenFileDialog como cadena.
Para facilitar su vida al crear instancias de diálogos de archivos abiertos en su html, puede crear una función que lo haga:
function createAndAddNewOpenFileDialog(name) {
document.getElementById("yourBodyOrFormId").innerHtml += "<input type='file' style='display:none' id='" + name + "'/>"
}
y si desea eliminar el diálogo de archivo abierto, puede crear y usar la siguiente función:
function removeOpenFileDialog(name) {
var html = document.getElementById("yourBodyOrFormId").innerHtml;
html = html.replace("<input type='file' style='display:none' id='" + name + "'/>", "");
document.getElementById("yourBodyOrFormId").innerHtml = html;
}
pero antes de eliminar el diálogo de archivo abierto, asegúrese de que exista creando y usando la siguiente función:
function doesOpenFileDialogExist(name) {
return document.getElementById("yourBodyOrFormId").innerHtml.indexOf("<input type='file' style='display:none' id='" + name + "'/>") != -1
}
y si no desea crear y agregar los diálogos de archivos abiertos en el cuerpo o las etiquetas de formulario en el html, porque esto está agregando el tipo de entrada oculto = "file" s, entonces puede hacerlo en el script usando la función de creación anterior :
function yourBodyOrFormId_onload() {
createAndAddNewOpenFileDialog("openFileDialog1");
createAndAddNewOpenFileDialog("openFileDialog2");
createAndAddNewOpenFileDialog("openFileDialog3");
createAndAddNewOpenFileDialog("File Upload");
createAndAddNewOpenFileDialog("Image Upload");
createAndAddNewOpenFileDialog("bla");
//etc and rest of your code
}
Asegúrese de que cerca de sus etiquetas de cuerpo o formulario, haya agregado:
onload="yourBodyOrFormId_onload()"
No tiene que hacer esta línea de arriba, si ya lo hizo.
SUGERENCIA: puede agregar a su proyecto o sitio web un nuevo archivo JScript, si aún no lo ha hecho, y en este archivo puede colocar todas las funciones de diálogo de archivo abierto fuera de las etiquetas de script y la página de formulario web o html, y usar en su página de formulario html o web desde este archivo JScript, pero no olvide antes vincular la página de formulario html o web al archivo JScript, por supuesto. Puede hacerlo simplemente arrastrando el archivo JScript a su página html en el encabezadoetiquetas. Si su página es un formulario web y no un simple html, y no tiene etiquetas de encabezado, colóquela en cualquier lugar para que funcione. No olvide definir la variable global en ese archivo JScript, cuyo valor será su cuerpo o id de formulario como cadena. Después de vincular el archivo JScript a su html o página de formulario web, puede cargar el evento de su cuerpo de formulario, establecer el valor de esa variable en su cuerpo o id de formulario. Luego, en el archivo JScript, ya no tienes que darle al documento la identificación del cuerpo o la forma de una página, solo dale el valor de esa variable. Puede llamar a esa variable bodyId o formId o bodyOrFormId o cualquier otro nombre que desee.
¡Buena suerte!