最終,我試圖通過MVC .NET網站將用戶文件系統中的文檔上傳到使用服務帳戶的Google Drive。使用API C#從網絡用戶上傳到Google Drive
我不知道我是否正在實施適當的設計來完成上傳,但我正在掛起要上傳的文件的路徑。
網絡
@Html.TextBox("file", "file", new { type = "file", id = "fileUpload" })
控制器
public ActionResult GoogleDriveList(GoogleDrivePageVM vm, HttpPostedFileBase file)
File _file = new File();
var _uploadFile = System.IO.Path.GetFileName(file.FileName);
byte[] byteArray = System.IO.File.ReadAllBytes(_uploadFile);
錯誤發生在ReadAllBytes聲明。它找不到文件'C:\ Program Files(x86)\ IIS Express \ Universe.txt的地圖'。文件名是正確的,但路徑不正確。
byte[] byteArray = System.IO.File.ReadAllBytes(_uploadFile);
System.IO.MemoryStream stream = new System.IO.MemoryStream(byteArray);
...谷歌雲端硬盤文件的東西放在這裏
然後從流上傳文件。
FilesResource.InsertMediaUpload request = _service.Files.Insert(body, stream, body.MimeType);
request.Upload();
那麼,我是使用HTML文件助手走下正確的道路嗎?如果是這樣,那麼讓路徑正常工作的訣竅是什麼?另外,我希望能夠支持高達500 MB的文件大小(如果這有所影響)。
如何解析字符串文件?如果文件被輸入到文本框中,可能需要驗證字符串格式是否正確,以便ReadAllBytes正常工作。 – JDavila
用戶從看起來像Windows文件瀏覽器對話框中選擇一個文件。沒有可以輸入文件名的選項。文件名顯示「Map of Universe.txt」,它是我選擇的文件,但ReadAllBytes語句包含僞造路徑。 – John
請注意,模型 - 視圖 - 控制器標籤是關於模式的問題。 ASP.NET-MVC實現有一個特定的標籤。 –