簡體   English   中英

本地開發服務器上的Google雲端存儲:文件名無效

[英]Google Cloud Storage on local development Server: Invalid Filename

我正在嘗試使用Google雲端存儲客戶端庫將一個字節數組“上傳”到本地GAE / J(1.8.1,Eclipse Juno)開發服務器:

byte[] byteContent = new byte[] {1, 2, 3, 4, 5};
GcsFilename fileName = new GcsFilename("MyBucket", "foo");
GcsOutputChannel outputChannel =
GcsServiceFactory.createGcsService().createOrReplace(fileName, GcsFileOptions.getDefaultInstance());
outputChannel.write(ByteBuffer.wrap(byteContent));
outputChannel.close();

嘗試這個,拋出以下異常:

WARNING: Caught IOException while attempting to write blob
java.io.FileNotFoundException: C:\dev\workspace\gaeTestProjekt\war\WEB-INF\appengine-generated\encoded_gs_key:L2dzL015QnVja2V0L2Zvbw (The filename, directory name, or volume label syntax is incorrect)

鑒於目標文件名稱中存在額外的冒號(encoded_gs_key:L2dzL015QnVja2V0L2Zvbw),這是有道理的。

問題是,如何防止本地開發服務器嘗試創建無效的文件名?

我終於找到了錯誤的來源。 如果我在truecrypt驅動器中運行開發服務器,則會發生錯誤。 如果我在外面運行它,錯誤就消失了。 所以它似乎是truecrypt處理文件的問題。

我認為你最好的選擇是在這里挖掘啟用文件名字符翻譯

在我的例子中,它是文件系統類型。 我將我的文件保存在usb磁盤上,這是FAT32的兼容性。 在我改為NTFS后,現在一切正常。 多么討厭的小蟲子。

PS。 @Andre的回答激發了我的靈感。 我無法想象他發現了什么。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM