Загрузить файл на веб-сайт, используя Сохранить / Как из программного приложения - PullRequest
2 голосов
/ 27 января 2010

Мы все знаем, что можно «открыть» документ Word (или файл из любого произвольного приложения), щелкнув ссылку на веб-сайт и нажав кнопку «Открыть».

Я также знаю, что если я хочу загрузить документ приложения на веб-сервер, я должен сначала сохранить документ на своем компьютере, а затем перейти на страницу загрузки, нажать кнопку файла / открыть, найти свой сохраненный файл и загрузить его.

Но возможно ли сохранить документ на веб-сайте или в URL-адресе, пропустив первый шаг сохранения и загрузив файл на веб-сервер непосредственно через диалоговое окно «Сохранить» приложения?

Как бы это было сделано в ASP.NET MVC?

Ответы [ 3 ]

0 голосов
/ 28 января 2010

Я думаю, что @Marc говорит, что есть некоторая уверенность. Лично я бы, возможно, подключил диск к соответствующему веб-сайту и имел бы папку для загрузки.

Тогда я бы .Net проверил изменения в папке, взял эти файлы и импортировал их в хранилище, что бы это ни было.

Это все еще несовершенное решение, и я не уверен, что пока есть правильное решение.

Полагаю, вы всегда могли написать, и я не могу поверить, что пишу это, макросы для сохранения в папку ftp.

0 голосов
/ 11 февраля 2010

Я полагаю, у вас есть несколько вариантов, без определенного порядка:

  1. Веб-служба, на которую приложение может ссылаться и загружать.
  2. Служба REST (WCF или иная), к которой приложение может POST.
  3. Действие контроллера HttpHandler или MVC, к которому приложение может POST.
  4. WebDAV напрямую на сервер.

Номер 3 звучит так, как будто он ближе всего к тому, что вы искали («Как бы это было сделано в ASP.NET MVC?»). Скотт Хансельман (Scott Hanselman) написал в своем блоге хорошую статью об обработке файлов в MVC .

Когда вы реализуете клиента, в этом тоже есть небольшая хитрость, поскольку вы не можете просто POST, как обычно; Вы должны опубликовать в формате multipart / form-data. Я разместил запись в блоге с примером кода о том, как это сделать .

0 голосов
/ 27 января 2010

Это действительно зависит от того, насколько сложным вы хотите это сделать. Это почти то, что предлагают «веб-папки» (через WebDAV), но в целом это создает больше проблем, чем когда-либо будет исправлено. Я не рекомендую такой подход.

Лучше всего сделать это проще - это специальное клиентское приложение - возможно (хотя это сомнительный пример), как Office общается с sharepoint. В более простом примере вы можете создать приложение Silverlight вне браузера, которое будет сохранено через веб-сервис на сайте с использованием WCF или аналогичного.

...