ASP.NET JavaScript Ajax Загрузка файлов - PullRequest
0 голосов
/ 07 октября 2011

Я, в основном, хочу разместить и изображение с HTML-страницы на страницу asp.net C #, а затем отправить эти данные на сервер.

Я нашел много корпоративных иРешения webform-y, но есть ли другой способ сделать это, избегая вебформ?Я не большой поклонник сгенерированного HTML.По сути, псевдокод будет выглядеть следующим образом.

<script type="text/javascript">
window.onload = function() {
    button.onclick = function() {
        http = new XMLHttpRequest();
        url = "imageuploader.aspx";
        params = <dunno how to post file data. Help?>
        http.open("POST", url, true);
        http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        http.onreadystatechange = function () {
                  Test a bunch of stuff to see if image has been uploaded or we're still working on it
            }
    }
 }
 </script>

imageuploader.aspx

<%@ Page language="C#" validateRequest=false %>
<script language="C#" runat="server">
    private void Page_Load (object sender, System.EventArgs e) {
         <no clue what to do here since I've never done file uploading before>
    }
<script>

1 Ответ

0 голосов
/ 07 октября 2011

Прежде всего, XMLHttpRequest не поддерживает загрузку файлов.Вы можете использовать jQuery Form Plugin , Form Plugin использует скрытый элемент iframe, чтобы помочь с задачей.Это обычная техника, но она имеет свои ограничения.Элемент iframe используется в качестве цели операции отправки формы, что означает, что ответ сервера записывается в iframe.

Также есть несколько других параметров,

http://www.phpletter.com/Demo/AjaxFileUpload-Demo/

http://pixelcone.com/jquery/ajax-file-upload-script/

Теперь на стороне сервера Request.Files предоставляет вам доступ ко всем опубликованным файлам в коллекции массивов.

...