写个文件上传的android代码
时间: 2023-02-16 19:53:56 浏览: 103
在Android中上传文件可以使用HTTP协议中的POST请求方式。下面是一个简单的示例代码:
```java
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.net.HttpURLConnection;
import java.net.URL;
public class FileUpload {
public static void main(String[] args) {
String fileName = "example.txt"; // 文件名
String filePath = "path/to/file"; // 文件路径
String uploadUrl = "http://example.com/upload"; // 上传地址
try {
// 打开连接
URL url = new URL(uploadUrl);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoInput(true);
conn.setDoOutput(true);
conn.setUseCaches(false);
conn.setRequestMethod("POST");
conn.setRequestProperty("Connection", "Keep-Alive");
conn.setRequestProperty("Charset", "UTF-8");
conn.setRequestProperty("Content-Type", "multipart/form-data; boundary=*****");
// 开始写文件
DataOutputStream dos = new DataOutputStream(conn.getOutputStream());
dos.writeBytes("--*****\r\n");
dos.writeBytes("Content-Disposition: form-data; name=\"file\"; filename=\"" + fileName + "\"\r\n");
dos.writeBytes("\r\n");
FileInputStream fis = new FileInputStream(new File(filePath));
byte[] buffer = new byte[1024];
int len = 0;
while ((len = fis.read(buffer)) != -1) {
dos.write(buffer, 0, len);
}
fis.close();
dos.writeBytes("\r\n");
dos.writeBytes("--*****--\r\n");
dos.flush();
// 获取响应码
int resultCode = conn.getResponseCode();
if (resultCode == 200) {
System.out.println("文件上传成功");
} else {
System.out.println("文件上传失败,响应码:" + resultCode);
}
// 关闭连接
dos.close();
conn.disconnect();
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
在上面的代码中,文件名、文件路径、上传地址都需要替换成你自
阅读全文