空の一時テキスト ファイルを Google ドライブにアップロードしようとしていますが、成功しません。file
null が返されます。ただし、Google ドライブの Web サイトのサンプルを使用して、カメラから画像をアップロードできます。キャッシュに特別な権限を設定する必要はありますか? 助けてくれてありがとう。
これは私の試みです:
java.io.File outputDir = getApplicationContext().getCacheDir(); // context being the Activity pointer
java.io.File tempFile = java.io.File.createTempFile("hello", "txt", outputDir);
FileContent mediaContent = new FileContent("text/plain", tempFile);
// File's metadata.
File body = new File();
body.setTitle(tempFile.getName());
body.setMimeType("text/plain");
File file = service.files().insert(body, mediaContent).execute();
Google の例での方法:
String mediaStorageDir = Environment.getExternalStoragePublicDirectory(
String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss", Locale.US).format(new Date());
fileUri = Uri.fromFile(new java.io.File(mediaStorageDir + java.io.File.separator + "IMG_"
+ timeStamp + ".jpg"));
Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri);
saveFileToDrive();
private void saveFileToDrive() {
Thread t = new Thread(new Runnable() {
@Override
public void run() {
try {
java.io.File fileContent = new java.io.File(fileUri.getPath());
FileContent mediaContent = new FileContent("image/jpeg", fileContent);
// File's metadata.
File body = new File();
body.setTitle(fileContent.getName());
body.setMimeType("image/jpeg");
File file = service.files().insert(body, mediaContent).execute();
}
});}