V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
chemfinder
V2EX  ›  问与答

文件直接上传到 APP

  •  
  •   chemfinder · 2017-08-28 19:04:53 +08:00 · 1972 次点击
    这是一个创建于 2674 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我开发了一个 Android 端的 app

    现在有一个文本文件,在电脑桌面上,需要上传到我这个 app 上

    有什么办法直接从电脑把这个文本文件直接上传到我的 APP 里面呢?

    (不通过手机 qq、 微信、 邮箱等等)

    而是直接从电脑到我的 app 减少中间环节!
    18 条回复    2017-08-29 08:49:42 +08:00
    momocraft
        1
    momocraft  
       2017-08-28 19:21:32 +08:00
    app 内做一个带上传的 http server,从电脑访问
    lydasia
        2
    lydasia  
       2017-08-28 19:23:40 +08:00 via iPhone
    app 开 http 服务器,显示 ip 地址(和端口号),同局域网桌面端用浏览器上传,别的大概就比较复杂了吧。
    chemfinder
        3
    chemfinder  
    OP
       2017-08-28 19:30:56 +08:00
    @momocraft 电脑端不想装什么东西 就是任意一台电脑 这样也是可以的吗?不太懂技术 我是有这个需求 在找解决方案。。
    momocraft
        4
    momocraft  
       2017-08-28 19:32:10 +08:00
    @chemfinder 电脑需要有浏览器
    chemfinder
        5
    chemfinder  
    OP
       2017-08-28 19:35:56 +08:00
    @lydasia
    我异想天开的想法是:我可以要求客户统一将该文件命名为“需要上传的资料.txt ”,然后在我的 app 上传页面提供一个扫描器,用户手持手机扫描桌面,发现该名字的文件,即开始进行上传动作。但是,隐隐约约感觉这需要电脑授权吧?否则是不是有点移形换影的感觉?脑洞大开了。。。
    chemfinder
        6
    chemfinder  
    OP
       2017-08-28 19:37:58 +08:00
    电脑需要有浏览器 你们需要把文件拖动到浏览器里面吗?如果是这样,那我还不如开发个 web 页面上传呢。但是这样就增加了中间环节啊~
    chemfinder
        7
    chemfinder  
    OP
       2017-08-28 19:38:28 +08:00
    电脑需要有浏览器 那么嗨需要把文件拖动到浏览器里面吗?如果是这样,那我还不如开发个 web 页面上传呢。但是这样就增加了中间环节啊~
    chinvo
        8
    chinvo  
       2017-08-28 20:00:26 +08:00
    @chemfinder #6 大家就是在说用 web 页面上传啊
    ipconfiger
        9
    ipconfiger  
       2017-08-28 20:04:59 +08:00
    App 上实现一个扫二维码功能, 你先上传文件到网盘, 生成分享连接, 再找个二维码服务把连接生成二维码, App 一扫得到连接, 就可以下载了. 那么, 如果你要一站式的, 就把上述功能集成起来就行了
    ipconfiger
        10
    ipconfiger  
       2017-08-28 20:05:41 +08:00
    所以苹果全家桶的好处就是, Airdrop 一发就好了
    jugelizi
        11
    jugelizi  
       2017-08-28 20:06:44 +08:00
    参见 qq 阅读的 wifi 传书
    lookas2001
        12
    lookas2001  
       2017-08-28 20:43:13 +08:00 via Android
    首先我把你的需求详细化成在同一个局域网传输文件,同时不需要安装过多软件,并且要方便。
    这么分析你的需求是因为:
    第一点是因为看你的需求好像不要邮箱这种通过第三方服务(器)来进行。
    第二点和第三点是你不想让用户安装 qq 和微信(增加
    了操作成本)。
    那么先从系统自带的功能开始。
    文件复制?
    scp
    我觉得用户不会打开一个黑漆漆的窗口然后传文件,此方案 pass 掉。
    smb (文件共享)
    系统自带,但是 Android app 上运行一个 smb server 且不说系统让不让你这么干,首先开发难度就上去了。不是特别推荐,但是如果你不喜欢下一个方案,这个方案可以当一个备选。
    web 浏览器上传
    web 浏览器一般系统都有。那么这样问题就简单了。咱你的 Android app 里开一个 http server (绝对比 smb server 好开)然后运行一个非常简单的 web service,告诉用户手机电脑要在一个局域网内,应该在浏览器打哪些网址,让用户打开 web 后然后上传文件。
    据我所知一些应用比如百度云的免流量安装的原理一般就是这样的。
    chemfinder
        13
    chemfinder  
    OP
       2017-08-28 23:40:53 +08:00
    @chinvo
    @ipconfiger
    @jugelizi
    @lookas2001
    @lydasia
    @momocraft

    以上方案是不是都要求那台 PC 得有无线网卡?或者蓝牙呢?
    如果是这样,这是没有办法保证的啊~
    chinvo
        14
    chinvo  
       2017-08-29 00:00:47 +08:00
    @chemfinder #13 不是,是你的 app 提供一个 web 页面,只要和电脑在一个网络里面,电脑能访问到就可以
    ipconfiger
        15
    ipconfiger  
       2017-08-29 00:24:15 +08:00
    @chemfinder 如果 PC 不联网的话, 有两个办法
    1: 通过视频
    把文件分割成多块, 每一块生成一个二维码, 按顺序下来, 再将数据拼接起来生成文件
    缺点就是, 慢, 需要手动扫, 你要是手快的话, 一秒也差不多只能几百个 byte

    2: 通过音频
    把文件编码成音频用音箱播放, 手机解码后还原成文件
    缺点是, 慢, 每秒差不多也就几百个 byte, 还会存在一定误码率, 所以差不多每几个 byte 就需要一个校验位, 还需要一个序列位用来解决重发的问题
    momocraft
        16
    momocraft  
       2017-08-29 01:06:21 +08:00
    換個思路: 如果不要任何保證就能用手機拿到附近 pc 的文件, 連網絡都不需要, 你猜這技術能賣多少錢
    lfk0000
        17
    lfk0000  
       2017-08-29 08:47:52 +08:00
    一种在实现物理隔离的计算机之间交换信息的方法
    CN 103729323 A
    摘要
    本发明提出了一种在实现物理隔离的计算机之间交换信息的方法,通过将待传输文件分割为多个原始数据块,对原始数据块进行编码,生成相应的二维码图像,通过读取二维码图像并解码,实现信息交换。按照本发明在物理隔离的两台计算机间进行信息交换,所传递的信息对用户是完全透明的,并且无需使用任何光盘进行传递。由于二维码本身包含了纠错机制,传输数据时很少出现校验错误。单次能够传输的最大数据量与所使用的二维码编码方式、显示器、显卡和数码相机的分辨率密切相关,每秒能够进行的传输次数与所采用的相机摄像速率有关。

    http://www.google.com.pg/patents/CN103729323A?cl=zh
    lfk0000
        18
    lfk0000  
       2017-08-29 08:49:42 +08:00
    按照本发明在物理隔离的两台计算机间进行信息交换,所传递的信息对用户是完全透明的,并且无需使用任何光盘进行传递。由于二维码本身包含了纠错机制,传输数据时很少出现校验错误。单次能够传输的最大数据量与所使用的二维码编码方式、显示器、显卡和数码相机的分辨率密切相关,每秒能够进行的传输次数与所采用的相机摄像速率有关。经过测算,当计算机显示分辨率设为 1920*1080、数码相机分辨率为 3648*2736、采用 QR 编码时,每幅图像最大可传输 177180 字节数据。相机采集速率为 60 帧 /秒时,每秒则可以传输 30 次。

    177kB*30=5.3MB ,这速率还可以。。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1031 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 22:12 · PVG 06:12 · LAX 14:12 · JFK 17:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.