Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 17 kết quả

Đề tài: làm sao để upload file = <input type="file....

  1. #1
    Ngày gia nhập
    10 2009
    Nơi ở
    Việt Nam
    Bài viết
    359

    Mặc định làm sao để upload file = <input type="file....

    chào các bạn! mình ko sử dụng servercontrol asp:UploadFile để upload file lên server mà mình sử dùng htmlcontrol là <input type="file"... để upload file lên server nhưng mình chưa biết cách nào có thể upload đc ai biết chỉ mình nhé! có thể qua javacript để getfile đó rồi thực hiện gọi 1 hàm trong code behide rồi upload nó vào thư mục trên server đc ko? mong các bạn chỉ giúp.
    note: <input type="file" ko có thêm thuộc tính runat="server" dâu nhé!
    Muốn thành công thì đừng thất vọng - nhưng nếu có lúc thất vọng thì cứ làm việc trong sự thất vọng đi.

  2. #2
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    Khỏi cần javascript gì cả. Thẻ input file nếu có form dạng multipart là nó sẽ upload file lên server. Cho dù bạn có runas server hay ko thì nó vẫn cứ upload. Nếu bạn muốn tự xử lý lấy thì bạn có thể dùng Request.InputStream để lấy dữ liệu raw mà trình duyệt post lên. Sau đó bạn phải tách dữ liệu upload file từ dữ liệu multipart. Khi đã có dữ liệu upload file rồi, bạn muốn save hay làm gì đó thì tùy. Save thì rất đơn giản bằng cách dùng các hàm ghi file của .net
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  3. #3
    Ngày gia nhập
    10 2010
    Nơi ở
    Biên Hòa
    Bài viết
    562

    còn nếu mình muốn khi ngta chọn hình xong (chưa nhấn nút Upload) thì sẽ hiện cái hình lên cho ngta xem thì sao anh Mèo.

    nếu dùng html control thì viết sự kiện onchange cho nó ah .

  4. #4
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    Nếu bạn để ý sẽ thấy trang web đó nó đã "lén" upload lên ngay sau khi bắt được sự kiện onchange của input file. Khi bạn xem link hình thì bạn sẽ thấy nó từ server của trang web, nếu ko upload lên thì nó lấy đâu ra hình đó. Bạn muốn bắt chước nó thì phải dùng javascript để upload = ajax thì mới được.
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  5. #5
    Ngày gia nhập
    10 2010
    Nơi ở
    Biên Hòa
    Bài viết
    562

    ah,có nghĩa là mình sẽ viết trong sự kiện onchange, nếu hasfile làm thì mình lưu vào rùi đọc ngược ra và hiển thị.
    cái này mình dùng fileupload trong bộ ajax toolkit đc ko nhỉ.

  6. #6
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    Mặc định làm sao để upload file = <input type="file....

    Trích dẫn Nguyên bản được gửi bởi kenturo Xem bài viết
    ah,có nghĩa là mình sẽ viết trong sự kiện onchange, nếu hasfile làm thì mình lưu vào rùi đọc ngược ra và hiển thị.
    cái này mình dùng fileupload trong bộ ajax toolkit đc ko nhỉ.
    Tại sao bạn ko thử xem, hỏi trước để làm gì.
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  7. #7
    Ngày gia nhập
    10 2009
    Nơi ở
    Việt Nam
    Bài viết
    359

    Trích dẫn Nguyên bản được gửi bởi meoconlongvang Xem bài viết
    Khỏi cần javascript gì cả. Thẻ input file nếu có form dạng multipart là nó sẽ upload file lên server. Cho dù bạn có runas server hay ko thì nó vẫn cứ upload. Nếu bạn muốn tự xử lý lấy thì bạn có thể dùng Request.InputStream để lấy dữ liệu raw mà trình duyệt post lên. Sau đó bạn phải tách dữ liệu upload file từ dữ liệu multipart. Khi đã có dữ liệu upload file rồi, bạn muốn save hay làm gì đó thì tùy. Save thì rất đơn giản bằng cách dùng các hàm ghi file của .net
    chào bạn mình ko để thẻ <input type="file"... trong form nên làm sao có thể lấy đc file upload đó lên server? vì form này mình render = html control mình không để các control trong form. và mình sử dung ajax để lưu thông tin trên form (mình sử dụng thư viện AjaxPro.dll) khai báo phương thức [AjaxPro.AjaxMethod] trước phương thức trong code behide để lưu các thông tin vào csdl trên form có các control <input type = text.... sau khi mình bất nút gửi thông tin mình gọi 1 hàm javascript để lấy các thông tin trên form = document.getElementById("idcontrol") rồi sau đó gọi thực hiện 1 phương thức trong code behide các này chắc mọi người quá rõ rồi, nhưng với control html <input type = "file" mình chưa biết cách làm sao để lưu đc file lên server qua các này còn đối với các control <input type = text thì quá đơn giản rồi. mong các bạn chỉ giúp mình.
    Muốn thành công thì đừng thất vọng - nhưng nếu có lúc thất vọng thì cứ làm việc trong sự thất vọng đi.

  8. #8
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    THeo mình biết thì aspx luôn có sẵn 1 form tên là form1. Bạn tạo thẻ input từ đâu mình chưa rõ lắm, nhưng mình nghĩ nó vẫn nằm bên trong lòng cái form1 đó mà thôi. Input file chỉ cần 1 form cha gần nhất là nó post được rồi. Bạn cứ thử đọc rawinput xem, mình nghĩ dữ liệu upload file sẽ có trong đó.
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  9. #9
    Ngày gia nhập
    10 2009
    Nơi ở
    Việt Nam
    Bài viết
    359

    vì các thông tin trên các control này mình dùng java để lấy value của nó rồi gọi 1 phương thức codebehide (ajax) rồi truyền các giá trị lấy đc để cho nó xử lý ( bạn có cách nào có thể lấy đc file upload bằng javascript rồi truyền file đó lên codebehide để cho nó xử lý lưu nó lên server đc ko? thanks bạn nhiều lắm.
    Muốn thành công thì đừng thất vọng - nhưng nếu có lúc thất vọng thì cứ làm việc trong sự thất vọng đi.

  10. #10
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    Bạn wrap input file vô 1 form, ví dụ như thế này :

    PHP Code:
    <iframe id="hiddenframe" name="hiddenframe" src="#" style="display:none" ></iframe>
    <
    form id="formupload" name="formupload" enctype="multipart/form-data" method="POST" action="111.aspx" target="hiddenframe" >
        <
    input type="file" name="fileupload" onchange="AutoUpload();" />
        <
    script type="text/javascript" >
            function 
    AutoUpload() {
                
    document.getElementById("formupload").submit();
            }
        
    </script>
    </form> 
    Với code này, sau khi bạn chọn file xong, nó sẽ tự động được upload lên trang 111.aspx. Bạn có thể gài breakpoint vô page_load của 111.aspx để thử.
    Đã được chỉnh sửa lần cuối bởi meoconlongvang : 13-12-2011 lúc 12:11 AM.
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

Các đề tài tương tự

  1. Algorithm làm sao để set value cho thẻ input Type = 'file' trong webbrowser.
    Gửi bởi bibi_1234 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 4
    Bài viết cuối: 23-02-2017, 01:43 PM
  2. MVC2 Upload nhiều file trong 1 input
    Gửi bởi hankite trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 0
    Bài viết cuối: 29-05-2013, 10:09 AM
  3. Sự khác nhau giữa input type="text" và input type="submit" và type ="button"
    Gửi bởi tuanngocpt trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 2
    Bài viết cuối: 04-04-2012, 12:55 AM
  4. Lọc file type khi dùng thẻ <input type="file"/>
    Gửi bởi nguyenduykhanh1986 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 0
    Bài viết cuối: 04-08-2011, 05:15 PM
  5. ADO.NET lỗi "Old Format or Invalid Type Library " khi xuất file EXCEL
    Gửi bởi vuongnt.vn trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 8
    Bài viết cuối: 30-05-2011, 05:10 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn