newThreadWithAttachement method
Future<Uint8List>
newThreadWithAttachement(
- String siteUrl,
- String text,
- Uint8List attachement,
- String preEntry,
- Uint8List katamari,
- String nick,
- int atl,
- int xxAt,
- String cid,
- String avatar,
)
Implementation
Future<Uint8List> newThreadWithAttachement(
String siteUrl,
String text,
Uint8List attachement,
String preEntry,
Uint8List katamari,
String nick,
int atl,
int xxAt,
String cid,
String avatar) async {
var url = Uri.parse(siteUrl + '/new/' + preEntry + '?bin=true');
final ModeratorCapsuleItemAttachment att =
ModeratorCapsuleItemAttachment(atl, xxAt, cid);
var request = http.MultipartRequest("POST", url)
..fields['katamari'] = base64Encode(katamari)
..fields['post'] = text
..fields['nick'] = nick
..fields['avatar'] = avatar
..fields['attachment'] = base64Encode(att.binary);
/*var multipartFile = http.MultipartFile.fromBytes(
'filename', attachement); //("image", attachement, length,
request.files.add(multipartFile);*/
request.headers.addAll({'Cookie': 'DARTSESSID=' + dartSessionId});
var response;
try {
response = await request.send().timeout(_timoutIn);
} catch (e) {
if (!(e is TimeoutException)) setOffline();
return Uint8List(0);
}
setOnline();
if (response.statusCode == 409) {
//dup
return Uint8List(1);
}
if (response.statusCode == 200) {
print("Image Uploaded");
} else {
print("Upload Failed");
}
String? h = response.headers["set-cookie"];
if (h != null) {
cookie = h.split(' ').first;
String dSid = cookie.split('=').last;
dartSessionId = dSid.substring(0, dSid.length - 1);
}
print(cookie);
print(response.contentLength);
return response.stream.toBytes();
}