читать текст из загруженного файла - C # и JavaScript - PullRequest
0 голосов
/ 20 декабря 2011

У меня есть что-то вроде этого:

<form action="" id="fileUpload">
    <input type="file" id="fileTest"/>
    <input type="button" id="saveFile"/>   </form>

Для пользователя, чтобы загрузить файл.

У меня тогда есть этот js:

$('#saveFile').click(function () {
    PageMethods.ReadFile($('#fileTest').val());
});

И в моем коде c # я делаю это:

[WebMethod]
public static void ReadFile(string path)
{
    try
    {
        // Create an instance of StreamReader to read from a file.
        // The using statement also closes the StreamReader.
        using (StreamReader sr = new StreamReader(path))
        {
            String line;
            // Read and display lines from the file until the end of
            // the file is reached.
            while ((line = sr.ReadLine()) != null)
            {
                Console.WriteLine(line);
            }
        }
    }
    catch (Exception e)
    {
        // Let the user know what went wrong.
        Console.WriteLine("The file could not be read:");
        Console.WriteLine(e.Message);
    }
}

Но путь, который отправляется на webMethod, не является правильным путем к файлу.

Я просто пытаюсь получить данные из файла, а затем что-то сделать с ним.

Это способ сделать это? Если так, как я могу заставить это работать?

Или есть лучший способ сделать это.

Спасибо.

Ответы [ 3 ]

3 голосов
/ 20 декабря 2011

Вы пытаетесь получить доступ к клиентскому файлу ($('#fileTest')) на сервере. Это невозможно.

Вместо этого вам нужно будет отправить форму загрузки на веб-сервер и обработать ее на этом конце.

0 голосов
/ 20 декабря 2011
<form action="MyPage/MyWebMethod.aspx" method="post" enctype="multipart/form-data" >
    <input type="file" id="fileTest"/>
    <input type="button" id="saveFile"/>
</form>

затем на сервере вы можете получить доступ к файлам из Request.Files.Или что-то типа того.я не помню точного участника из запроса.также Ajax не является прямым с загрузкой файлов.Есть много приемов загрузки файлов в формате AJAX, один из которых - использование iframes.

0 голосов
/ 20 декабря 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...