java如何将文件上传至天翼云盘

java如何将文件上传至天翼云盘,第1张

使用Java编程可以将文件上传到夭翼云盘。步骤如下:

1.使用FileInputStream类建立文件输入流,以便从本地文件系统读取文件;

2.使用URL类建立HTTP连接,设置HTTP连接属性,包括访问权限等;

3.使用URLConnection类建立HTTP请求,将文件数据写入输出流;

4.关闭HTTP连接,使文件上传至夭翼云盘。

public static int transFile(InputStream in, OutputStream out, int fileSize) {

int receiveLen = 0

final int bufSize = 1000

try {

byte[] buf = new byte[bufSize]

int len = 0

while(fileSize - receiveLen >bufSize)

{

len = in.read(buf)

out.write(buf, 0, len)

out.flush()

receiveLen += len

System.out.println(len)

}

while(receiveLen <fileSize)

{

len = in.read(buf, 0, fileSize - receiveLen)

System.out.println(len)

out.write(buf, 0, len)

receiveLen += len

out.flush()

}

} catch (IOException e) {

// TODO 自动生成 catch 块

e.printStackTrace()

}

return receiveLen

}

这个方法从InputStream中读取内容,写到OutputStream中。

那么发送文件方,InputStream就是FileInputStream,OutputStream就是Socket.getOutputStream.

接受文件方,InputStream就是Socket.getInputStream,OutputStream就是FileOutputStream。

就OK了。 至于存到数据库里嘛,Oracle里用Blob。搜索一下,也是一样的。从Blob能获取一个输出流。

Java代码实现文件上传

FormFile file=manform.getFile() 

  String newfileName = null

  String newpathname=null

  String fileAddre="/numUp"

  try {

   InputStream stream = file.getInputStream()// 把文件读入

    String filePath = request.getRealPath(fileAddre)//取系统当前路径

          File file1 = new File(filePath)//添加了自动创建目录的功能

       ((File) file1).mkdir()   

    newfileName = System.currentTimeMillis()

     + file.getFileName().substring(

       file.getFileName().lastIndexOf('.'))

   ByteArrayOutputStream baos = new ByteArrayOutputStream()

   OutputStream bos = new FileOutputStream(filePath + "/"

     + newfileName)

   newpathname=filePath+"/"+newfileName

   System.out.println(newpathname)

   // 建立一个上传文件的输出流

    System.out.println(filePath+"/"+file.getFileName())

   int bytesRead = 0

   byte[] buffer = new byte[8192]

   while ((bytesRead = stream.read(buffer, 0, 8192)) != -1) {

    bos.write(buffer, 0, bytesRead)// 将文件写入服务器

   }

   bos.close()

   stream.close()

    } catch (FileNotFoundException e) {

   e.printStackTrace()

  } catch (IOException e) {

   e.printStackTrace()

  }


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12011241.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存