2010-12-18 6 views
1

Nun, ich arbeite in domain1. Ich muss eine Datei auf Domain2 hochladen. in meiner aspx in domain1 ich habe (außerhalb der Haupt):Wie kann ich eine Datei hochladen, in eine andere aspx-Datei?

<div id="divCurriculo"> 
    <form id="frmCurric" enctype="multipart/form-data" action="http://reports.programacontactosonae.com/uploadcv.aspx" method="post"> 
     <input type="hidden" name="userid" value="284" /> 
    <table> 
     <tr> 

      <td class="first"> 
       <label>Currículo</label> 
      </td> 
      <td> 
       <input type="file" id="filecv" style="display:inline-block;" /> 
       <input type="submit" value="Enviar" style="width:70px;display:inline-block;" /> 
      </td>  
     <tr>    
    </table> 

    </form> 
</div> 

Also, was muss ich in meiner Aufnahmedatei in domain2 die Datei zu bekommen? Dies ist, was ich habe:

protected void Page_Load(object sender, EventArgs e) 
{ 
     string userid = Request.Form["userid"]; 
     Response.Write(userid + "<br />"); // i catch, successfully, the value in the hiddenfield 

     HttpPostedFile file = Request.Files[0];//here i get an error cause it can't find any file 
     Response.Write(file.ToString());    
} 
+1

Per Ihrem Kommentar unten; posten Sie bitte den * tatsächlichen * Code, den Sie auf beiden Seiten verwenden, und geben Sie an, auf welcher Art von Seite Sie dieses Formular einfügen. –

+0

Wenn Sie den enctype haben, der funktionieren sollte; was geschieht? –

+0

Wenn ich auf Request.Files [0] zugreifen bekomme ich Index war außerhalb der Grenzen des Arrays, weil es keine Datei –

Antwort

2

Hoffentlich ist es etwas, das einfach, aber versuchen enctype="multipart/form-data" zu Ihrem form Tag hinzufügen:

<form action="www.domain2.com/upload.aspx" method="post" enctype="multipart/form-data"> 
    <input type="hiden" id="userid" value="12345" /> 
    <input type="file" id="curriculo" /> 
    <input type="submit" id="submit"/> 
</form> 
+0

oh, danke und es tut mir leid. Ich benutze enctype, ich habe vergessen, es in meine Frage zu setzen ... –

+0

Bitte fügen Sie den * tatsächlichen * Code ein, den Sie verwenden ... wie können wir Ihnen sonst noch helfen? –

1

Es sieht aus wie Sie gerade die enctype fehlt; addiert auf der Suche nach , ein Attribut:

<form ... enctype="multipart/form-data">... 
+0

danke und es tut mir leid. Ich benutze enctype, ich habe nur vergessen, es in meine Frage zu setzen. –

2

Zusätzlich zu den anderen Antworten in Bezug auf das fehlende enctype Attribut, Ihr Code ist ziemlich spröde sonst; Sie sollten sicherstellen, dass mindestens eine Datei vorhanden ist, bevor Sie versuchen, auf die Request.Files Auflistung zuzugreifen, und eine Fehlermeldung anzeigen, wenn eine Datei nicht existiert, und sie wissen lassen, dass sie es erneut versuchen soll. Andernfalls erhalten Benutzer, die vergessen, eine Datei auszuwählen, eine sehr hilfreiche Fehlermeldung (die gleiche, die Sie jetzt sehen)

Ansonsten werde ich annehmen/hoffe, dass Sie die Dinge sicherheitshalber richtig überprüfen/bereinigen - Ich mag es nicht, dass der Userid-Wert übermittelt wird und dass der eingereichte Inhalt nicht gefährlich ist.

+0

danke, ich bin. Ich habe hier einfach die vereinfachte Version des Codes eingefügt. Ich benutze enctype, ich habe vergessen, es hier auch zu setzen. –

Verwandte Themen