We Want to Hear From You! What Do You Want to See on the Community? Tell us here!
Forum Discussion
kmsbs
8 years agoExplorer | Level 4
My uploaded files on Dropbox are 0 bytes/ empty.
I have an app,In this app we are using dropbox v2 for upload or download a file.
I uplaoded a file but it shown as a empty file and 0 byte.
kmsbs In your code, you're actually calling `uploadAndFinish` twice; once on its own, and then again inside your `Log.e` call. When you call the second time, the `inputStream` is consumed, so you end up uploading a zero byte file. Update your code to only do the upload once.
7 Replies
- Jane8 years ago
Dropbox Staff
As I’d like to help you on the issue you’ve experienced as much as possible, can you clarify whether you’re uploading your file using the web Uploader, your mobile, through your desktop or if you’ve created your own app that’s uploading your files to the Dropbox folder?Once I have a bit more info, I’ll make sure to send you the most relevant next steps here. Thanks again & I’ll be awaiting your next post on this discussion! - kmsbs8 years agoExplorer | Level 4
this is my code :
public class UploadTask extends AsyncTask {
private DbxClientV2 dbxClient;
private File file;
@SuppressLint("StaticFieldLeak")
private Context context;
ProgressDialog dialog;
UploadTask(DbxClientV2 dbxClient, File file, Context context) {
this.dbxClient = dbxClient;
this.file = file;
this.context = context;
}
@Override
protected Object doInBackground(Object[] params) {
try {
// Log.e("async read",ReadFile(file));
InputStream inputStream = new FileInputStream(file);
dbxClient.files().uploadBuilder("/" +file.getName()) //Path in the user's Dropbox to save the file.
.withMode(WriteMode.OVERWRITE) //always overwrite existing file
.uploadAndFinish(inputStream);
Log.e("Upoad", "" + dbxClient.files().uploadBuilder("/" + file.getName()) //Path in the user's Dropbox to save the file.
.withMode(WriteMode.OVERWRITE) //always overwrite existing file
.uploadAndFinish(inputStream));
} catch (DbxException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(Object o) {
super.onPostExecute(o);
DownloadActivity.dialog.dismiss();
Toast.makeText(context, "File uploaded successfully", Toast.LENGTH_SHORT).show();
Intent intent = new Intent(context, LoginActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
}
public static String ReadFile(File file){
String line = null;
try {
FileInputStream fileInputStream = new FileInputStream (file);
InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
StringBuilder stringBuilder = new StringBuilder();
while ( (line = bufferedReader.readLine()) != null )
{
stringBuilder.append(line + System.getProperty("line.separator"));
}
fileInputStream.close();
line = stringBuilder.toString();
bufferedReader.close();
}
catch(FileNotFoundException ex) {
Log.d("FileNotFoundException", ex.getMessage());
}
catch(IOException ex) {
Log.d("IOException", ex.getMessage());
}
return line;
}
} - kmsbs8 years agoExplorer | Level 4
File data :
[{"Working-hours":[{"User-id":"1","User-name":"user1","Client-id":"1","Client-name":"test1","Project-id":"1","Project-name":"name1","Job-id":"1","Job-name":"job1","Start-hour":"7","End-hour":"18","Work-date":"30-04-2018","Total-Working-hours":"8-hours","Edit-time":"19.00-30-04-2018","material-name":"material1","material-date":"30-04-2018","Notes":"note1"},{"User-id":"2","User-name":"user2","Client-id":"2","Client-name":"test2","Project-id":"2","Project-name":"name2","Job-id":"2","Job-name":"job2","Start-hour":"7","End-hour":"18","Work-date":"30-04-2018","Total-Working-hours":"8-hours","Edit-time":"19.00-30-04-2018","material-name":"material2","material-date":"30-04-2018","Notes":"note2"},{"User-id":"3","User-name":"user3","Client-id":"3","Client-name":"test3","Project-id":"3","Project-name":"name3","Job-id":"3","Job-name":"job3","Start-hour":"7","End-hour":"18","Work-date":"30-04-2018","Total-Working-hours":"8-hours","Edit-time":"19.00-30-04-2018","material-name":"material3","material-date":"30-04-2018","Notes":"note3"}],"Used-materials":[{"User-id":"1","User-name":"user1","Client-id":"1","Client-name":"test1","Project-id":"1","Project-name":"name1","Material-id":"1","Material-name":"material1","Date":"04-05-2018"},{"User-id":"2","User-name":"user2","Client-id":"1","Client-name":"test2","Project-id":"2","Project-name":"name2","Material-id":"1","Material-name":"material2","Date":"04-05-2018"},{"User-id":"3","User-name":"user3","Client-id":"3","Client-name":"test3","Project-id":"3","Project-name":"name3","Material-id":"3","Material-name":"material3","Date":"04-05-2018"}]}]
- Jane8 years ago
Dropbox Staff
Hey kmsbs, I've moved your thread to the API section, as this will need to be reviewed by my colleagues here.
Thanks for reaching out to us & enjoy the rest of your day!
- kmsbs8 years agoExplorer | Level 4hello sir,
any solution - Greg-DB8 years ago
Dropbox Community Moderator
kmsbs In your code, you're actually calling `uploadAndFinish` twice; once on its own, and then again inside your `Log.e` call. When you call the second time, the `inputStream` is consumed, so you end up uploading a zero byte file. Update your code to only do the upload once.
- kmsbs8 years agoExplorer | Level 4thanks it work fine
About Discuss Dropbox Developer & API
Make connections with other developers814 PostsLatest Activity: 10 hours ago
The Dropbox Community team is active from Monday to Friday. We try to respond to you as soon as we can, usually within 2 hours.
If you need more help you can view your support options (expected response time for an email or ticket is 24 hours), or contact us on X or Facebook.
For more info on available support options for your Dropbox plan, see this article.
If you found the answer to your question in this Community thread, please 'like' the post to say thanks and to let us know it was useful!