Сохранить бинарный файл - PullRequest
2 голосов
/ 30 ноября 2011

Как я могу сохранить двоичную строку в виде файла? Я публикую двоичную строку из Excel. Вот код для этого:

Sub PostFileAsBinary()

Dim Filename  As String
Filename = "\\Network Drive\Test File\TestFile.pdf"
FileURL = "http://localhost:11212/Upload/BinaryFile/"

Dim ReadFile As String
Dim n As Integer
n = FreeFile()

Open Filename For Binary As n
ReadFile = String(LOF(n), vbNullChar)
Get n, , ReadFile
Close n
Debug.Print ReadFile

Set httpReq = New MSXML2.XMLHTTP
httpReq.Open "POST", FileURL & "?ID= " & 2, False
httpReq.SetRequestHeader "Content-Length", Len(ReadFile)
httpReq.send ReadFile

Debug.Print httpReq.responseText
ReadFile = ""
Set httpReq = Nothing

End Sub

Вот мое действие контроллера:

        [HttpPost]
    public ActionResult PostLPFile(int LPKey, string ReadFile)

    {
        using (FileStream srReadFile = new FileStream(@"D:\Temp", FileMode.Create))

        {
            using (BinaryWriter writer = new BinaryWriter(srReadFile))
            {
                writer.Write(ReadFile);

                writer.Close();
            }
        }
        return View();

Я успешно разместил бинарный файл, но не могу загрузить файл в указанное место: \\Network Drive\Posted File

Я думаю, мне придется преобразовать двоичную строку, опубликованную в поток, с чем, я думаю, я борюсь. Может ли кто-нибудь разобраться в этом и помочь?

1 Ответ

3 голосов
/ 30 ноября 2011

Безопасность доступа к каталогам в ASP.Net зависит от того, как реализована защита в вашем веб-приложении:

Если вы выдаете себя за конечного пользователя или конкретного пользователя, то именно этот пользователь должен иметь доступ к каталогу.

Если вы не используете олицетворение, то для удостоверения пользователя пула приложений, на котором работает ваш веб-сайт, потребуется доступ к каталогу.

Обновление

Для получения дополнительной информации о том, что подразумевается под олицетворением в ASP.Net, см. эту статью MSDN .

...