東芝から発売されているFlashAirを用いた開発を行う人々向けのまとめwikiです。※本wikiは東芝及びフィックスターズ、キオクシアとは何の関係もありません。お問合わせは管理者へお願いします。

概要

特定のフォルダ内に新たに追加されたファイルをDropboxにアップロードします。
LUA_SD_EVENTを使えば、自動アップロード機能が実現できます。



ライセンス

注意

当初はうまく動いていましたが、SSL関係のエラーなのか、
現在はError argument:c003fe09が発生し、動作しません。
2017年現在治ったようです

スクリプト

--当然ですが、Wi-Fi接続されている時でないと動きません
--ファイル名はUTF-8かつURLエンコードが必要です。
--はい、ここではそれをやっていないため、日本語名や、空白入りのファイル名なんかを入れると、
--おそらくDropboxから拒否られます。

 fp=io.open("log.txt","r")
 if not fp then
    fp=io.open("log.txt","w")
    fp:write("files = {}")
 end
 io.close(fp)
 
 dofile("log.txt") --ファイルがないと死ぬ。関数に入れても死ぬ。Luaの最初に置け

 DIR = "/upload"
 fp=io.open("log.txt","w")
 fp:write("files = {}\n")

--走査
 for file in lfs.dir(DIR) do
    if file ~= "." and file ~= ".." then
       fsize = lfs.attributes(DIR.."/"..file, "size")
       dat = "files[\""..file.."\"]="..fsize.."\n"
 
       if(files[file] ~= fsize) then
          mes = "<!--WLANSDFILE-->"
          len_s = lfs.attributes(DIR.."/"..file,"size")

          hed = {["Content-Length"] = len_s,
          ["Authorization"] = "Bearer アクセストークン"}

          print("CODE:")
          b,c,h = fa.request{
             url = "https://api-content.dropbox.com/1/files_put/auto/Lua/"..file,
             method = "PUT",headers = hed,body = mes,file = DIR.."/"..file
          }
          print(c)
       end
 
       fp:write(dat)
  
       print( file )
       print("   ")
       print(fsize)
       print("<br>")
    end
 end
 io.close(fp)

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Menu

スマートフォンの方は画面下部よりPC版に切り替えることをおすすめします

アクセス解析中

忍者アナライズ

GoogleAnalytics

編集にはIDが必要です