vi er lost Skrevet 10. mai 2008 Del Skrevet 10. mai 2008 Jeg har skrevet en laget en side lokalt hvor den fungerer helt fint men når jeg laster siden opp til selve serveren får jeg en http 406 error. Har funnet ut at det har noe med et skjema jeg har for hvis jeg bytter det til text/plain så får jeg ikke feil. Har søkt litt rundt men jeg blir ikke klokere på hvordan dette kan fikses... Jeg har også dette scriptet som behandler det som kommer inn i skjemaet. /** * Convert a single file-input element into a 'multiple' input list * * Usage: * * 1. Create a file input element (no name) * eg. * * 2. Create a DIV for the output to be written to * eg. * * 3. Instantiate a MultiSelector object, passing in the DIV and an (optional) maximum number of files * eg. var multi_selector = new MultiSelector( document.getElementById( 'files_list' ), 3 ); * * 4. Add the first element * eg. multi_selector.addElement( document.getElementById( 'first_file_element' ) ); * * 5. That's it. * * You might (will) want to play around with the addListRow() method to make the output prettier. * * You might also want to change the line * element.name = 'file_' + this.count; * ...to a naming convention that makes more sense to you. * * Licence: * Use this however/wherever you like, just don't blame me if it breaks anything. * * Credit: * If you're nice, you'll leave this bit: * * Class by Stickman -- http://www.the-stickman.com * with thanks to: * [for Safari fixes] * Luis Torrefranca -- http://www.law.pitt.edu * and * Shawn Parker & John Pennypacker -- http://www.fuzzycoconut.com * [for duplicate name bug] * 'neal' */ function MultiSelector( list_target, max ){ // Where to write the list this.list_target = list_target; // How many elements? this.count = 0; // How many elements? this.id = 0; // Is there a maximum? if( max ){ this.max = max; } else { this.max = -1; }; /** * Add a new file input element */ this.addElement = function( element ){ // Make sure it's a file input element if( element.tagName == 'INPUT' && element.type == 'file' ){ // Element name -- what number am I? element.name = 'file_' + this.id++; // Add reference to this object element.multi_selector = this; // What to do when a file is selected element.onchange = function(){ // New file input var new_element = document.createElement( 'input' ); new_element.type = 'file'; // Add new element this.parentNode.insertBefore( new_element, this ); // Apply 'update' to element this.multi_selector.addElement( new_element ); // Update list this.multi_selector.addListRow( this ); // Hide this: we can't use display:none because Safari doesn't like it this.style.position = 'absolute'; this.style.left = '-1000px'; }; // If we've reached maximum number, disable input element if( this.max != -1 && this.count >= this.max ){ element.disabled = true; }; // File element counter this.count++; // Most recent element this.current_element = element; } else { // This can only be applied to file input elements! alert( 'Error: not a file input element' ); }; }; /** * Add a new row to the list of files */ this.addListRow = function( element ){ // Row div var new_row = document.createElement( 'div' ); // Delete button var new_row_button = document.createElement( 'input' ); new_row_button.type = 'button'; new_row_button.value = 'Slett'; // References new_row.element = element; // Delete function new_row_button.onclick= function(){ // Remove element from form this.parentNode.element.parentNode.removeChild( this.parentNode.element ); // Remove this row from the list this.parentNode.parentNode.removeChild( this.parentNode ); // Decrement counter this.parentNode.element.multi_selector.count--; // Re-enable input element (if it's disabled) this.parentNode.element.multi_selector.current_element.disabled = false; // Appease Safari // without it Safari wants to reload the browser window // which nixes your already queued uploads return false; }; // Set row value new_row.innerHTML = element.value; // Add button new_row.appendChild( new_row_button ); // Add it to the list this.list_target.appendChild( new_row ); }; }; Lenke til kommentar
vi er lost Skrevet 11. mai 2008 Forfatter Del Skrevet 11. mai 2008 (endret) Har nå prøvd flere slike bildeopplastingsscript som baserer seg på Ajax og PHP og på siden som skal behandle resultatet får jeg error 406 på alle.. Kan safe_mode i PHP ha noe med saken å gjøre? EDIT: Prøvde nettopp med denne lille kodesnutten for å se om det virket noe det ikke gjorde, det virker lokalt hvor jeg bruker xampp men ikke på webhotellet mitt.. <html><head><title></title></head><body><form enctype="multipart/form-data" action="test.php" method="POST"><input type="file" name="test"><input type="submit" name="test"></form><BR><?php<BR>print_r($_FILES);?></body></html>/CODE] Endret 11. mai 2008 av vi er lost Lenke til kommentar
vi er lost Skrevet 12. mai 2008 Forfatter Del Skrevet 12. mai 2008 Har funnet en løsning på det.. Ved å legge følgende inn i en .htaccess fil SecFilterEngine Off SecFilterScanPOST Off fungerer det... Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå