2013-07-03 8 views
2

AjaxFileUpload 컨트롤을 사용하여 여러 이미지 파일을 업로드하고 있습니다. 내가하고있는 일은 파일을 폴더에 저장 한 다음 데이터베이스에 삽입하는 것입니다. 하지만 업로드 오류가 발생합니다. 파일은 폴더에 업로드되거나 테이블에 저장되지 않습니다. 뒤에 내 코드는 여기ajaxfileupload를 사용하여 여러 파일을 업로드하고 데이터베이스에 삽입하는 방법

<div id="sliderinsert" style="position:absolute; padding-bottom:5px; background-color:gray; top: 24px; left: 13px; 
     width: 695px; height: 300px; margin-bottom: 1px; overflow:visible"> 

      <ajaxToolkit:AjaxFileUpload style="position:absolute; width:695px; overflow:auto;max-height:600px" MaximumNumberOfFiles="7" AllowedFileTypes="jpg,jpeg,png,gif" 
       id="ajaxUpload1" OnUploadComplete="ajaxUpload1_UploadComplete" runat="server" Width="633px"/> 

      <asp:ScriptManager ID="ScriptManager1" runat="server"> 
      </asp:ScriptManager> 

     </div> 

과 :

여기 내 영문 코드의

protected void ajaxUpload1_UploadComplete(object sender, AjaxControlToolkit.AjaxFileUploadEventArgs e) 
    { 
     id+=1; 
     string filename = Path.GetFileName(e.FileName); 
     string filepath = Server.MapPath("~/Images/Gallery/" + filename); 
     ajaxUpload1.SaveAs(filepath); 

     string Insert = "Insert into slider (slid,slurl) values (@id,@IMAGE_PATH)"; 
     SqlCommand cmd = new SqlCommand(Insert, con); 
     cmd.Parameters.AddWithValue("@IMAGE_PATH", filepath); 
     cmd.Parameters.AddWithValue("id", id); 
     try 
     { 
      con.Open(); 
      cmd.ExecuteNonQuery(); 
     } 
     catch (Exception ex) 
     { 
      Response.Write(ex.Message); 
     } 
     finally 
     { 
      con.Close(); 
      cmd.Dispose(); 
     }  
    } 

과 PageLoad 이벤트에

나는 테이블의 최대 (ID)를 받고, 그리고 난 그것을 증가 업로드 이벤트를 완료하고 파일을 테이블에 삽입하십시오.

아무도 내가 여기서하고있는 실수가 무엇인지 말해 줄 수 있습니까? 제발 도와주세요.

답변

2


아래 감안할 때 코드를 확인 코드

아래 시도
2

처음으로 이미지를 애플리케이션 폴더에 저장하는 경우 ~/Images/Gallery/path가 존재하는지 확인하십시오.

매개 변수를 사용하여 슬라이더 테이블에 값을 직접 삽입 할 수 있습니다. ... 폴더를 n 그것에 대해 확신 존재 ...

protected void AjaxFileUpload1_UploadComplete1(object sender, AjaxControlToolkit.AjaxFileUploadEventArgs e)<br> 
    { 
     string filepath = (Server.MapPath("~/Images/") +Guid.NewGuid()+ System.IO.Path.GetFileName(e.FileName));<br> 
     AjaxFileUpload1.SaveAs(filepath);<br> 
     string fl = filepath.Substring(filepath.LastIndexOf("\\"));<br> 
     string[] split = fl.Split('\\');<br> 
     string newpath = split[1];<br> 
     string imagepath = "~/Images/" + newpath;<br> 
     string Insert = "Insert into IMAGE_PATH (IMAGE_PATH) values (@IMAGE_PATH)";<br> 
     SqlCommand cmd = new SqlCommand(Insert, con);<br> 
     cmd.Parameters.AddWithValue("@IMAGE_PATH", newpath);<br> 
     con.Open();<br> 
     cmd.ExecuteNonQuery();<br> 
     con.Close();<br> 
     cmd.Dispose();<br> 

    } 
+0

@BhargavaKatta N 심지어 does'nt 일 ... :

protected void ajaxUpload1_UploadComplete(object sender, AjaxControlToolkit.AjaxFileUploadEventArgs e) { id += 1; string filename = Path.GetFileName(e.FileName); string filepath = Server.MapPath("~/Images/Gallery/" + filename); ajaxUpload1.SaveAs(filepath); string Insert = "Insert into slider (slid,slurl) values (" + @id + ",'" + @IMAGE_PATH + "')"; SqlCommand cmd = new SqlCommand(Insert, con); cmd.CommandType = CommandType.Text; try { con.Open(); cmd.ExecuteNonQuery(); } catch (Exception ex) { Response.Write(ex.Message); } finally { con.Close(); cmd.Dispose(); } } 

+0

@Kaushik : 당신이 얻고있는 업로드 오류는 무엇입니까 ??? – BhargavaKatta

+0

@BhargavaKatta .. 이제 완료되었습니다 .. web.config에 httphandlers를 추가해야합니다. 회신 감사합니다 .. –

관련 문제