首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在上传到php服务器时将文件名写入OutputStream,这样文件将被正确命名。

问在上传到php服务器时将文件名写入OutputStream,这样文件将被正确命名。
EN

Stack Overflow用户
提问于 2011-02-22 09:23:17
回答 1查看 652关注 0票数 2

这应该是非常快的。目前,我有以下代码来将图像写入输出流,并将其上传到服务器:

代码语言:javascript
复制
        OutputStream os = connection.getOutputStream();

        BufferedInputStream fis = new BufferedInputStream(new FileInputStream(file));
        int totalBytes = fis.available();

        for(int i = 0; i < totalBytes; i++) {
            os.write(fis.read());
        }

等。(我知道用于写入数据的for循环是超级基础的,我会在将来做得更好,我只是想在这里让事情在一个基本的级别上工作)。

无论如何,正如您所看到的,我正在向流中写入一个文件并将其发送出去,这工作得很好。我的问题是,到目前为止我还没有办法传输正确的文件名。在php端,我只是设置了一个通用的时间戳文件名,我也不想在手机上使用默认的图片名称,上传的图片将包括上传的用户名,包括一个时间戳,我可以添加到php端。我只需要知道如何包含像namevaluepair这样的东西,其中包含用户名,因此在php端,文件名可以包含该字符串。谢谢!

编辑:不知道我为什么要说数据,它只是一个输出流……

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-02-22 11:05:03

文件名通常在报头中发送。对于POST (通常是您在获取输出流时使用的内容类型),您应该有一个multipart/form-data的content-type,并且每个part都有一个content-disposition头。对于与文件对应的部分(在本例中是唯一的部分),content-disposition标头应该有一个filename="foo.txt"组件。然后,服务器将内容保存在一个临时文件中,并将content-disposition头中包含的信息传递给您的脚本(以及访问上传文件本身的方法)。

详情请参见RFC 1867。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5073124

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档