我正在使用此代码将文件上传到Google云端硬盘,并且正确地将...上传到“我的云端硬盘”的根目录。我需要将其上传到共享驱动器_driveId
。我在这里错了吗?
public string Add(GoogleDriveItem item)
{
FilesResource.CreateMediaUpload request;
using (FileStream stream = new FileStream(item.LocalPath,
FileMode.Open))
{
using (MemoryStream memoryStream = new MemoryStream())
{
stream.CopyTo(memoryStream);
Google.Apis.Drive.v3.Data.File fileMetadata = new Google.Apis.Drive.v3.Data.File
{
Name = Path.GetFileName(item.LocalPath),
MimeType = item.ContentType,
DriveId = _driveId,
TeamDriveId = _driveId
};
request = _service.Files.Create(
fileMetadata, memoryStream, item.ContentType);
request.Fields = "id";
request.SupportsTeamDrives = true;
request.SupportsAllDrives = true;
request.Upload();
}
}
Google.Apis.Drive.v3.Data.File file = request.ResponseBody;
return file.Id;
}
我尝试将Parents = { _driveId}
添加到fileMetaData
的属性中,但是随后我得到了空引用异常。 :(
虽然我不知道它是否会真正起作用,但这将解决NPE:
Parents = new[] { _driveId }
基本上,REST客户端库默认情况下不会创建空列表,因此,Parents
在为您提供值之前为空-但它只是一个IList<string>
,因此数组应该没问题。